在TeamCity服务器或Team Foundation Build Service上,我需要为C++项目/ VS 2013安装什么?

Red*_*ed1 5 c++ msbuild teamcity tfsbuild visual-studio-2013

我试图在TC 8.0.6(build 27767)上的Visual Studio 2013解决方案中构建一个C++项目.

我已经在服务器上安装了最新的MSBuild"Microsoft Build Tools 2013"​​(通常作为VS 2013安装的一部分安装).

但是我收到以下错误:

[17:05:23]VCTargetsPath is c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
[17:05:23]PlatformToolset is v120
[17:05:23]VCMessage
[17:05:23]c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32
Microsoft.Cpp.Win32.Targets(512, 5): error MSB8008: Specified platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
[17:05:23]Project MyCppProject\smCpp.vcxproj failed
Run Code Online (Sandbox Code Playgroud)

据我所知,我有我需要的一切,我尝试过各种黑客将PlatformToolset设置为v110等,但这也不起作用.

在这个阶段,我想确切地验证我需要在构建服务器上安装什么.有人可以澄清我是否需要额外的东西吗?

非常感谢

布赖恩

Chr*_*len 5

最终,您需要为 MSBuild 设置正确的路径。在 VS 2013 中,构建工具成为 VS 而不是 .NET 的一部分,使其成为 12.0 版而不是 4.0 版。此实例中的默认路径为:

"C:\Program Files (x86)\MSBuild\12.0\bin"

如果团队基础构建损坏,则可能是因为 TF 服务器不在 2013 版本上。要解决此问题,您需要为自己制作构建定义使用的构建模板的副本(假设您的版本是 >= 2010 和 < 2013 ) 并指向正确的工具文件夹。构建模板位于以下源路径中:

$/YourTeamProjectName/BuildProcessTemplates

如果可以在 Visual Studio 中编辑模板,则可以打开 Workflow Foundation 设计图面。在那里找到Run MSBuild for Project任务(注意在默认模板中有多个,但我已经展示了要查找的内容的图片)并将工具路径属性更改为上述路径。

团队构建模板

创建模板后,您需要更改构建定义以使用新模板。

对于 TeamCity,您需要在构建步骤中将 MSBuild ToolsVersion 设置为 12.0 版。我不确定什么版本的 TC 开始支持版本 12。