7

我正在构建一个 MSBuild 文件并将其与 TeamCity(5.0.2(内部版本 10784))中的 MSBuild Build Runner 一起使用,但我认为它运行的 MSBuild 版本不正确,因为我不断收到以下错误:

错误 MSB5014:无法识别文件格式版本。MSBuild 只能读取版本 7.0 和 9.0(含)之间的解决方案文件。

我是 TeamCity 的新手,所以我不确定从哪里开始看如何配置它。从下面的屏幕截图中可以看到,我在构建运行程序配置屏幕中选择了 4.0 版本。

构建配置

4

2 回答 2

5

根据错误,Team City/MSBuild 配置似乎不支持 VS2010。VS2010 的解决方案是 10.0 版本,错误表明它仅支持 7.0 到 9.0 版本。

是一个讨论使用 TeamCity 构建 VS2010 项目的论坛主题。

于 2010-02-21T18:56:38.547 回答
4

从论坛线程中提取答案:

该问题已在 TeamCity 5.1 中修复,但有一个 hack 可以使其在 5.0 中运行

基本上,您需要根据构建配置的构建运行器部分中指定的 .NET 框架版本覆盖设置 MSBuild.exe 路径的机制。

为此,请创建环境变量“MSBuild”并将其设置为 %system.DotNetFramework4.0_x86_Path%(这是构建运行器在检测到安装了 .NET 4.0 时自动生成的变量)

该变量可以在代理上创建,在 buildAgent.properties 文件中,在这种情况下,它应该命名为“env.MSBuild”,并且由于它是全局定义的,它将影响在此构建代理上构建的所有项目。

或者,它可以在构建配置本身内部创建(然后名称将简单地为“MSBuild”)——在这种情况下,它将仅适用于此构建配置。

于 2010-04-15T19:24:06.910 回答