VS2015-SP2。在一个解决方案中有两个打字稿项目,一个版本1.5,另一个版本1.7。哪个编译器将用于解决方案?
答案 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设置。