在编译保存期间,VS2015使用哪些Typescript编译器

时间:2016-12-07 13:20:44

标签: typescript visual-studio-2015 compilation

我正在使用VS2015 Update 3和Typescript 2安装VS.我有一个简单的ASP.NET核心MVC Web应用程序,其中包含一些非常简单的打字稿文件。在我的项目的根目录中,我有一个带有“compileOnSave”的tsconfig.json文件:true。

我的PC上安装了4个版本(1.0,1.7,1.8和2.0)的Typescript:C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript

如果我保存了打字稿文件,那么它会被正确编译为同名的javascript文件。如果我然后删除任何生成的javascript文件并执行项目的构建,那么再次将typescript文件正确编译为javascript文件。

如果我将目录:“C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript”重命名为“C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript.bak”,以便打字稿编译器不可用,然后在项目构建我得到错误:“C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ TypeScript \ Microsoft.TypeScript.targets(176,5):错误MSB6003:指定无法运行任务可执行文件“tsc.exe”。找不到路径'C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript'的一部分。“按预期方式。但是,编辑然后保存打字稿文件仍会导致编译保存工作并生成更新的javascript文件。

在这些情况下,Visual Studio如何找到typescript编译器以便在save上执行编译?

1 个答案:

答案 0 :(得分:0)

Visual Studio使用项目csproj文件来确定要使用的打字稿版本。如果在编辑器中打开文件,则可以查找标记TypeScriptToolsVersion以查看项目使用的版本。

我的样子如下:

<TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion>

Visual Studio然后在文件夹C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript中查找与此版本号(在我的情况下为2.0)匹配的文件夹,并在此文件夹中查找编译器executeble:tsc .EXE。