回答

1

你实际上可以测试这个。

我安装了TypeScript 1.7和1.5版本。这意味着下面的文件夹中包含名为1.5和1.7两个子文件夹:

C:\ Program Files文件(x86)的\微软的SDK \打字稿

我创建了两个项目一个简单的解决方案。

其中一个项目有打字稿1.5版:

<TypeScriptToolsVersion>1.5</TypeScriptToolsVersion> 

另一种具有打字稿1.7版:

<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion> 

现在,如果你打开VS2015开发人员命令提示符,导航到该文件夹你的sln文件并发出以下命令,你可以看到哪个编译器会被调用。

msbuild DifferentTypeScriptVersions.sln 

我的输出包含这些告诉行:

PreComputeCompileTypeScript: 
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.7\tsc.exe --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY "Z:\SomewhereOnMyDrive\DifferentTypeScriptVersions\TypeScriptProjectWithOnePointSeven\app.ts" 
....... 
PreComputeCompileTypeScript: 
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.5\tsc.exe --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY "Z:\SomewhereOnMyDrive\DifferentTypeScriptVersions\TypeScriptProjectWithOnePointFive\app.ts" 

正如你可以看到每个项目调用正确的版本。

最后的评论:我测试了同样的事情,只有1.7安装。当然,这两个项目都是用1.7编译的。

更新:如果你想确保VS使用相同的逻辑,你也可以这样做。

转至工具/选项/项目和解决方案/构建并运行并将MSBuild项目构建输出详细程度设置为正常。

现在,如果重建解决方案,在“输出”窗格中,您将能够看到有关正在调用哪个编译器的信息。我对它进行了测试,它对1.5项目使用1.5,1.7项目使用1.7。

相关问题