Visual Studio 2015 年不同 Typescript 版本的项目编译
Compilation of projects with different Typescript versions in Visual Studio 2015
VS2015-SP2。在一个解决方案中有两个打字稿项目,一个版本为 1.5,另一个版本为 1.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.7\tsc.exe --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY "Z:\SomewhereOnMyDrive\DifferentTypeScriptVersions\TypeScriptProjectWithOnePointSeven\app.ts"
.......
PreComputeCompileTypeScript:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.5\tsc.exe --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY "Z:\SomewhereOnMyDrive\DifferentTypeScriptVersions\TypeScriptProjectWithOnePointFive\app.ts"
如您所见,每个项目都调用了正确的版本。
最后一句话:我只安装了 1.7 就测试了同样的东西。当然,这两个项目都是用 1.7 编译的。
更新:如果你想确定VS使用相同的逻辑,你也可以这样做。
转到 Tools/Options/Projects 和 Solutions/Build 和 运行 并将 MSBuild 项目生成输出详细程度设置为正常。
现在,如果您重建解决方案,您将能够在“输出”窗格中看到有关正在调用哪个编译器的信息。我对其进行了测试,它对设置为 1.5 的项目使用 1.5,对设置为 1.7 的项目使用 1.7。
VS2015-SP2。在一个解决方案中有两个打字稿项目,一个版本为 1.5,另一个版本为 1.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.7\tsc.exe --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY "Z:\SomewhereOnMyDrive\DifferentTypeScriptVersions\TypeScriptProjectWithOnePointSeven\app.ts"
.......
PreComputeCompileTypeScript:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.5\tsc.exe --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY "Z:\SomewhereOnMyDrive\DifferentTypeScriptVersions\TypeScriptProjectWithOnePointFive\app.ts"
如您所见,每个项目都调用了正确的版本。
最后一句话:我只安装了 1.7 就测试了同样的东西。当然,这两个项目都是用 1.7 编译的。
更新:如果你想确定VS使用相同的逻辑,你也可以这样做。
转到 Tools/Options/Projects 和 Solutions/Build 和 运行 并将 MSBuild 项目生成输出详细程度设置为正常。
现在,如果您重建解决方案,您将能够在“输出”窗格中看到有关正在调用哪个编译器的信息。我对其进行了测试,它对设置为 1.5 的项目使用 1.5,对设置为 1.7 的项目使用 1.7。