angular - 使用 Visual Studio 构建 Angular2 应用程序时出错

标签 angular visual-studio-2015 npm msbuild typescript2.0

我正在使用 this构建入门 angular2 应用程序的指南。

当我尝试构建它时,它提示错误的选项,我注意到它是使用 typescript 1.8 而不是 typescript 2.x 构建的。我已经通过 npm 安装了 Typescript@2.0。 npm install -g typescript@2.0 .我已将 VS 选项设置为加载 .\node_modules\.bin首先在外部网络工具中。我有一个 tsconfig.json 文件。我可以看到它仍在尝试使用 typescript 1.8 进行编译。有什么想法可以解决这个问题吗?我已经按照指南进行了两次。

1>Target "PreComputeCompileTypeScriptWithTSConfig" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets" from project "C:\Users\111111\Documents\Visual Studio 2015\Projects\TestAngular\TestAngular\TestAngular.csproj" (target "CompileTypeScriptWithTSConfig" depends on it):
1>Using "VsTsc" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\TypeScript.tasks.dll".
1>Task "VsTsc"
1>  C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe --project "C:\Users\111111\Documents\Visual Studio 2015\Projects\TestAngular\TestAngular\tsconfig.json" --listEmittedFiles
1>Done executing task "VsTsc".
1>Done building target "PreComputeCompileTypeScriptWithTSConfig" in project "TestAngular.csproj".
1>Target "CompileTypeScriptWithTSConfig" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets" from project "C:\Users\111111\Documents\Visual Studio 2015\Projects\TestAngular\TestAngular\TestAngular.csproj" (target "Compile" depends on it):
1>Task "VsTsc"
1>  C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe --project "C:\Users\111111\Documents\Visual Studio 2015\Projects\TestAngular\TestAngular\tsconfig.json" --listEmittedFiles
1>  C:\Users\111111\Documents\Visual Studio 2015\Projects\TestAngular\TestAngular\error TS5023:Build:Unknown compiler option 'listemittedfiles'.
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(214,5): error MSB6006: "tsc.exe" exited with code 1.
1>Done executing task "VsTsc" -- FAILED.
1>Done building target "CompileTypeScriptWithTSConfig" in project "TestAngular.csproj" -- FAILED.

tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es2015", "dom" ],
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  }
}

我在我的 .csproj 中没有做任何特别的事情。我尝试设置 <TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>但这没有任何作用。

如何确保 VsTsc 任务使用的是 typescript 2?同样在外部 Web 工具中,我很想知道在哪里 .\node_modules\.bin指太?好像不是C:\Users\111111\Documents\Visual Studio 2015\Projects\TestAngular\TestAngular\node_modules\.bin . Npm 将 typescript 安装到 C:\Users\111111\AppData\Roaming\npm .

附加信息: 我确实找到了这个答案。 Build:Unknown compiler option 'listemittedfiles'

它解释了解决方法(不要通过 npm 安装,而是通过 VS 安装)。但我仍然有疑问,为什么外部 Web 工具列表可能什么都不做?或者它甚至如何修改哪个版本的 Typescript。

最佳答案

将以下内容添加到 TestAngular.csproj:

<PropertyGroup>
    <TscToolPath>PATH TO DESIRED tsc.exe, NOT INCLUDING THE tsc.exe</TscToolPath>
</PropertyGroup>

关于angular - 使用 Visual Studio 构建 Angular2 应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41355746/

相关文章:

node.js - scss 文件中的相对 url 路径

visual-studio - 我如何让 Visual Studio 2015 立即突出显示括号、大括号和引用,没有延迟?

reactjs - 找不到插件 "proposal-class-properties"。如何解决这个问题?

angular - Azure Devops 管道 - 您的全局 CLI 版本高于本地版本

angular-cli hmr 和 ngrx

angular - 如何使用 Angular 搜索管道显示未找到记录消息

Angular Dart : is it possible to inject a component?

c++ - 缓存友好性 std::list 与 std::vector

c++ - Visual Studio 2015 C++ UML 图创建者协会

node.js - npm 安装卡在 "normalizeTree: http request GET https://registry.npmjs.o"