我已将VS2008解决方案迁移到VS2013。我的解决方案包含VC ++项目。 我为每个项目设置了工具平台v120_xp 我的解决方案在我的计算机上编译并在VS2013中的构建服务器上编译 我的构建服务器是带有VS2008,VS2010和VS2013的Windows2008 R2以及TeamFoundationServer 2010的构建控制器。
当我使用构建控制器启动构建时,构建失败并显示:
导入的项目“C:\ Program Files (x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V110 \ Microsoft.Cpp.Default.props“是 未找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。
在V110目录中,该文件不存在,但它存在于V120目录中。 我检查了注册表: HKLM \ SOFTWARE \微软\的MSBuild \ ToolsVersion \ 12.0 VCTargetPath正在纠正
你有想法帮助我吗?
答案 0 :(得分:1)
我已编辑了注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\12.0\11.0
和
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0\11.0
使用V120目录
现在我的服务器构建解决方案,但我不明白为什么MSBuild使用密钥
ToolsVersions\12.0\11.0
而非关键ToolsVersions\12.0\12.0
可能是因为v120_xp平台工具集
答案 1 :(得分:1)
真正的答案是MSBuild从.sln Visual Studio版本中减去1。由于您没有安装VS 2012或未安装它,因此找不到v11.0文件夹。 Sayed Ibrahim Hashimi解释了这一切:
http://sedodream.com/PermaLink%2cguid%2ca5894bad-f2a1-441a-a5b2-74f16c6cf8aa.aspx
答案 2 :(得分:1)
我在2015年遇到了同样的问题,使用Windows 10和Visual Studio 2015 RC(全新安装)
为了纠正这个问题,我根据我的研究尝试了几种解决方案,即安装“VS Windows SDK”,它没有做任何不同的事情来解决我的问题,然后我在另一个建议中安装了GitHub以下载MSBuild,现在已被排除从VS,我最终下载并安装了“VS Tools for Windows 10”,这最终没有给我同样的错误,无需更改注册表项
答案 3 :(得分:0)
在构建服务器上安装VS 2012应该为您创建必要的目标文件。
答案 4 :(得分:0)
我可以通过在项目文件中将$(VCTargetsPath)更改为$(VCTargetsPath12)来解决这个问题。
这感觉就像一个临时的解决方法,而不是永久的解决方案,因为一旦我们移动到Visual Studio的下一个版本,我们必须找到所有对$(VCTargetsPath12)的引用并替换为新的目标路径。