【发布时间】:2016-02-04 20:52:09
【问题描述】:
VS2015-SP2。在一种解决方案中,有两个 typescript 项目,一个版本为 1.5,另一个版本为 1.7。解决方案将使用哪个编译器?
【问题讨论】:
标签: typescript visual-studio-2015 typescript1.5 typescript1.7
VS2015-SP2。在一种解决方案中,有两个 typescript 项目,一个版本为 1.5,另一个版本为 1.7。解决方案将使用哪个编译器?
【问题讨论】:
标签: typescript visual-studio-2015 typescript1.5 typescript1.7
你可以实际测试一下。
我安装了 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 使用相同的逻辑,你也可以这样做。
转到 Tools/Options/Projects and Solutions/Build and Run 并将 MSBuild 项目构建输出详细程度设置为 Normal。
现在,如果您重新构建解决方案,在“输出”窗格中,您将能够看到有关正在调用哪个编译器的信息。我对它进行了测试,它使用 1.5 用于具有 1.5 设置的项目和 1.7 用于具有 1.7 设置的项目。
【讨论】: