2014-12-04 63 views
5

我有多个系统通过msbuild脚本执行C#解决方案构建。 在此解决方案中是一个项目(csproj),其中包含对使用Visual Studio 2013进行编译的.ts文件的引用,该文件是为了支持tsc而构建的。什么决定了在msbuild过程中使用哪种版本的Typescript?

在我们最初的构建系统上,当项目从msbuild项目脚本构建时,它引用C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 1.0,而在新系统上,它连接到C:\ Program Files(x86 )\ Microsoft SDKs \ TypeScript \ 1.1,我们需要1.0才能正常工作。 如何将其更改为指向正确的版本?

回答

4

您可以在texteditor中打开csproj并添加以下内容以使用1.0 TypeScript编译器。

<PropertyGroup> 
    <TypeScriptToolsVersion>1.0</TypeScriptToolsVersion> 
</PropertyGroup> 

只是它低于另一个属性组,你应该很好去。应该安装Offcourse TypeScript 1.0来完成这项工作。

+0

谢谢迪克,是的,这似乎是个伎俩。我唯一遗留下来的问题是,为什么在一个构建代理(在此调整之前)项目正确使用1.0,而在另一个构建代理上使用1.1 现在我正在研究它,看起来服务器默认为1.1有1.1 。和1.0安装,所以可能没有这个明确的声明它是默认最新版本。 – Maniaque 2014-12-06 20:03:01

0

如果您需要特定版本的依赖关系并担心其他开发者可能拥有较新版本或旧版本,请检查NuGet Gallery以了解如何整合NuGet并在构建过程中下拉适当的版本。

这将缓解构建过程中的安装依赖性,或者需要控制各种依赖项组件的安装状态。

相关问题