在Visual Studio 2015中编译具有不同Typescript版本的项目

时间:2016-02-04 20:52:10

标签: typescript visual-studio-2015 typescript1.5 typescript1.7

VS2015-SP2。在一个解决方案中有两个打字稿项目,一个版本1.5,另一个版本1.7。哪个编译器将用于解决方案?

1 个答案:

答案 0 :(得分:1)

你可以实际测试一下。

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

  

C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript

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

其中一个项目有TypeScript版本1.5:

<TypeScriptToolsVersion>1.5</TypeScriptToolsVersion>

另一个有TypeScript版本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设置。