团队城市未满足要求:MSBuildTools12.0_x86_Path存在

我在x32 Server2008 windows机器上安装了TeamCity。 我已经运行.net 4.5 web安装。 我也复制了基于这篇文章的x64机器上的文件,所以我不需要安装vs2012(不过,我确实已经改变了在32位机器上删除x86的path):

MSBuild在Visual Studio 2012解决scheme的TeamCity中

我似乎无法让本地代理运行在vs2012或vs2010项目中为msbuild设置的构build。 我不断收到:

未满足的要求:MSBuildTools12.0_x86_Path存在

我重新启动了服务器多次,并重新启动代理。 我已经尝试了一些与pathvariables混合,但不能找出我失踪。 我已经在configuration参数中看到了,可以看到这些:

MSBuildTools2.0_x86_Path C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727

MSBuildTools3.5_x86_Path C:\ Windows \ Microsoft.NET \ Framework \ v3.5

MSBuildTools4.0_x86_Path C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319

如何在那里得到12.0?

我需要单独安装MSBuild,然后重新启动代理variables在那里。

(从MSDN文章) MSBuild现在安装作为Visual Studio的一部分,而不是作为.NET框架的一部分。 当前的MSBuild版本号是12.0。 如果要分开安装MSBuild,请从MSBuild下载下载安装包。

编辑:答案链接被打破。 以下是Microsoft Build Tools 2015(最近直到今天)的链接: https : //www.microsoft.com/en-us/download/details.aspx?id=48159

有点迟到的答案,但如果您的项目是从VS 2012,并且您正在使用自动检测的解决scheme文件构build步骤,编辑该步骤并从“Visual Studio”下拉列表中select“Microsoft Visual Studio 2012”修复此问题(以及,恕我直言,更正确)。

我有同样的问题,最后certificate我定义的生成步骤来运行MSBuildconfiguration错误。

在我的MSBuild构build步骤中,设置“MSBuild ToolsVersion”设置为12.0(默认值),导致我的系统上出现“未满足要求:MSBuildTools12.0_x86_Path存在”错误。 因为我不需要新的MSBuild 12.0来运行我的构build,所以我在构build步骤中将此设置更改为4.0。 此MSBuild版本已正确安装在我的系统上。 这为我解决了这个问题。

我对派对也有些迟,但是我认为我会分享以下内容,以便帮助那些可怜的灵魂。

  • 我在全新的Windows Server 2012 R2盒子上全新安装了TeamCity 8.1.4 ,但是得到了上述错误
  • 遵循此线程中的说明,尽pipe多次重新启动并重新安装,错误仍然出现。
  • 我注意到代理信息,如操作系统和CPU没有出现在代理的详细信息页面。 这表明问题不在于.NET和MSBUILD的先决条件,而是与代理服务无法读取有关计算机的信息有关。
  • 代理正在用户帐户下运行(具有TeamCity文档的所有必要权限)。 但我想我会看到如果我进入pipe理工具>服务将会发生什么,并将login更改为本地系统帐户。
  • 重新启动代理服务。
  • 巨大的成功。

MSBuild现在是Visual Studio的一部分。 如果您需要在代理上安装构build工具,但不想安装VS,则需要安装新的Microsoft构build工具,该构build工具可在http://www.microsoft.com/zh-cn/download/上finddetails.aspx?id = 40760 。

在我的情况下 – 只有单独安装MSBuild VS2013帮助。 (这里是链接 – https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760 )它创build此文件夹C:\Program Files (x86)\MSBuild\12.0安装MSBuild工具VS2015创build了C:\Program Files (x86)\MSBuild\14.0这个文件夹,TC不想使用它。

我在我的辅助构build代理上遇到了这个问题。

我已经将MSBuild文件夹从主构build代理PC复制到辅助构build代理PC(就像我在Visual Studio文件中描述的那样: Visual Studio 2012解决scheme的TeamCity中的MSBuild ),而不是安装MSBuild。

但是,似乎TeamCity代理服务在启动时会检查MSBuild条目的registry(它似乎没有对我上面提到的Visual Studio文件这样做)。 由于我只是简单地复制了另一台电脑中的文件,因此没有存在v。12.0的MSBuild条目,所以TeamCity即使存在于Program Files(x86)\ MSBuild文件夹中也不会发现MSBuild文件。

当我从上面的链接安装Microsoft构build工具时http://www.microsoft.com/en-us/download/details.aspx?id=40760 TeamCity在registry中find了v。12.0条目,代理能够build立与主要代理相同的项目。

请记住在安装MS构build工具后重新启动TeamCity代理服务。

我似乎通过进入registry并删除所有不适用于版本12的MSBuild条目来解决此问题,然后重新启动代理。

要做到这一点,请转到开始>运行并inputRegedit

然后导航到关键字:

HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> MSBuild

删除除12.0以外的所有版本。

下一步到ToolsVersions并删除非12.0版本。

在我的情况下,这是一个没有安装Visual Studio的新机器,我刚刚从另一台机器上恢复了Teamcity。 所以我已经安装了Visual Studio 2013,并解决了teamcity agent的问题。