错误:未找到导入的项目“C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V110 \ Microsoft.Cpp.Default.props”

时间:2014-03-06 15:57:24

标签: tfs msbuild tfs2010 visual-studio-2013 tfsbuild

我已将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正在纠正

你有想法帮助我吗?

5 个答案:

答案 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)的引用并替换为新的目标路径。