Visual studio 2019 当“--module”为 'none' 时无法使用导入、导出或模块扩充

Visual studio 2019 Cannot use imports, exports, or module augmentations when '--module' is 'none'

在我将我的项目从 Angular 9 升级到 Angular 10 之后,该项目显示了许多我无法解决的错误,如下所示

(TS) 找不到模块“@angular/core”。
(TS) 找不到模块“@angular/forms”。
(TS) 当“--module”为 'none'.
时,无法使用导入、导出或模块扩充 (TS) 对装饰器的实验性支持是一项功能,在未来的版本中可能会发生变化。设置 'experimentalDecorators' 选项以删除此警告。
未找到 TS6053 文件 'ClientApp/node_modules/-/dist/index.d.ts'

错误消息仅在 visual studio 2019 年显示。当我在 visual studio 代码中尝试应用程序时,它工作正常。

我尝试了很多解决方案,比如添加
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators> <TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>

或添加
"baseUrl": "src"
到 tsconfig.json

没有一个有效。有人遇到同样的问题吗?

这是 Visual Studio 2019 无法处理新的“解决方案样式”tsconfig 文件的问题。

您可以阅读 Angular 10 CLI 升级带来的变化:

https://angular.io/guide/migration-solution-style-tsconfig

为了让事情在 Visual Studio 2019 年正常工作,最简单的解决方法是更改​​ tsconfig.json 文件,使其在没有“解决方案”的情况下工作-style”配置模式如下:

{
  "extends": "./tsconfig.app.json"
  //"files": [],
  //"references": [
  //  {
  //    "path": "./tsconfig.app.json"
  //  },
  //  {
  //    "path": "./tsconfig.spec.json"
  //  }
  //]
}

这是一个已知问题,Visual Studio 团队目前正在处理它以支持这种新样式的 TypeScript 配置文件。