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
据我所知,我有我需要的一切,我尝试过各种黑客将PlatformToolset设置为v110等,但这也不起作用.
在这个阶段,我想确切地验证我需要在构建服务器上安装什么.有人可以澄清我是否需要额外的东西吗?
非常感谢
布赖恩
最终,您需要为 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。
| 归档时间: | 
 | 
| 查看次数: | 11944 次 | 
| 最近记录: |