2016-12-07 128 views
-1

我正在使用VS2015 UpdateScriptScriptScript 2来安装VS。我有一个简单的ASP.NET Core MVC Web应用程序和几个非常简单的打字稿文件。在我的项目的根目录中,我有一个带有“compileOnSave”的tsconfig.json文件:true。在编译保存期间VS2015使用哪种Typescript编译器

我已经在目录中安装了我的电脑上打字稿的4个版本(1.0,1.7,1.8和2.0):C:\ Program Files文件(x86)的\微软的SDK \打字稿

如果我保存打字稿文件,然后它被正确编译为一个同名的javascript文件。如果我然后删除任何生成的JavaScript文件并执行项目的构建,然后再打字稿文件正确编译为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如何查找打字稿编译器以便在保存时执行编译?

回答

0

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

矿看起来像这样:

<TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion> 
然后

Visual Studio中查找文件夹C(在我的案件2.0)符合此版本号的文件夹:\ Program Files文件(x86)的\微软的SDK \打字稿,并在这个文件夹中寻找编译器的可执行文件:tsc.exe。

+0

我明白,但我的观点是,我已将Typescript目录重命名为Typescript.bak,并且保存上的编译仍可正常工作。 – Geoff