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

时间:2014-02-04 17:43:38

标签: c++ msbuild teamcity visual-studio-2013 tfsbuild

我正在尝试在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等,但这也不起作用。

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

非常感谢

布赖恩

1 个答案:

答案 0 :(得分:4)

最终,您需要设置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设计图面。在那里找到运行MSBuild for Project 任务(注意默认模板中有多个,但我已经显示了要查找的内容的图片)并将工具路径属性更改为以上路径。

Team Build template

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

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