Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio MSBuild不包含“”的值;VCTargetsPath“;财产_Visual Studio_Visual Studio 2010_Msbuild_Projects And Solutions_Visual Studio 2012 - Fatal编程技术网

Visual studio MSBuild不包含“”的值;VCTargetsPath“;财产

Visual studio MSBuild不包含“”的值;VCTargetsPath“;财产,visual-studio,visual-studio-2010,msbuild,projects-and-solutions,visual-studio-2012,Visual Studio,Visual Studio 2010,Msbuild,Projects And Solutions,Visual Studio 2012,我最近安装了VisualStudio11DeveloperPreview进行试用,现在我的VS2010项目将无法打开。相反,我收到以下错误消息: MSBuild不包含“VCTargetsPath”属性的值 我发现有人报告了该问题,Microsoft的回复是: 微软于2011年12月2日下午5:25发布 嗨,阿福申 谢谢你的反馈。您遇到的问题已在下一个公开版本Visual Studio中修复 吉姆·格里斯默 Visual C++团队 太棒了。那么,如何恢复VCTargetsPath,使我的项目能够

我最近安装了VisualStudio11DeveloperPreview进行试用,现在我的VS2010项目将无法打开。相反,我收到以下错误消息:

MSBuild不包含“VCTargetsPath”属性的值

我发现有人报告了该问题,Microsoft的回复是:

微软于2011年12月2日下午5:25发布
嗨,阿福申

谢谢你的反馈。您遇到的问题已在下一个公开版本Visual Studio中修复

吉姆·格里斯默
Visual C++团队

太棒了。那么,如何恢复VCTargetsPath,使我的项目能够再次工作

“VCTargetsPath是在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0中定义的工具集属性。”

我在注册表中浏览到VCTargetPath值,它的值为:

$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

不知道从这里到哪里去。有什么建议吗?

以下是对我有帮助的事情:


将位于
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\4.0
中名为
DefaultToolsVersion
的注册表值从
2.0
更改为
4.0
。在
Wow6432Node
中也做同样的事情。

由“Mladen Jankovic”建议的注册表编辑方法对我不起作用

我刚刚在Visual Studio 2010上运行了一个修复程序(在VS2010安装光盘上运行setup.exe,或通过控制面板->程序调用“卸载”)。这对我起了作用

您还应该再次运行SP1安装

值得一提的是,我的“外接程序”(包括Incredibuild)在此之后表现良好。它们不需要重新安装或维修。我的设置/窗口/调试器位置也被保留

显然,只有在卸载VS11的开发者预览版时,此问题才会出现:

加文·普格给出的解决方案似乎可以解决这个问题,尽管我没有尝试过。我在卸载VS11的开发者预览版后也遇到了这个问题。我想我知道到底是什么错了

姆拉登·扬科维奇走上了正确的道路。我的计算机上缺少以下两个(必要)注册表项之一:

  • HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
    • 关键字名称:
      VCTargetsPath
    • 类型:
      REG_SZ
    • 值:
      $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
  • HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0
    • 关键字名称:
      VCTargetsPath
    • 类型:
      REG_SZ
    • 值:
      $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
(您可以通过键入+R+regedit+Enter在Windows中编辑注册表项)


对我来说,上面列出的第二个值是缺失的值。添加后,我可以再次使用我的项目。

如果使用VS 2010 SP1,请转到控制面板|卸载程序,卸载/更改VS 2010 SP1,然后选择“重新应用SP1”。这对我来说很有效。

我也遇到了同样的问题,发现项目节点中没有设置工具集标记


设置工具版本为我解决了这个问题

我使用了C:\Windows\SysWOW64\regedit.exe并转到HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\3.5,在3.5版本的文件夹中,它在默认工具版本中列出了2.0,所以我将其修改为3.5,现在一切都正常了。

对于那些通过谷歌搜索来到这里的人:

如果您以前安装过VS 2015或vs2010之后的任何更高版本的VS,然后又卸载了,下面是适合您的解决方案

在下面的错误消息中:

无法计算属性表达式 “$([MSBuild]::ValueOrDefault('$(VCTargetsPath)',$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V140\”)”

14.0是VS2015的版本号。不幸的是,VS2015/2012卸载程序忘记了它的一个注册表项,这会在您返回VS2010时导致该错误

转到开始/运行/重新编辑>

寻找 HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0(以及12.0)

HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0(以及12.0)


如果这里有一个键14.0/12.0,删除它,您的VS2010有望再次工作。

呃,我终于找到了答案,顺便说一下,它没有给我相同的错误消息-我得到:

错误MSB4019:找不到导入的项目“C:\Microsoft.Cpp.Default.props”。确认声明中的路径正确,并且文件存在于磁盘上

出于某种原因,它可以很好地处理32位构建,但不能处理64位构建

无论如何,解决方案是将
HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0
中的所有
VCTargetPath*
键复制到
HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0
。他们不见了


实际上,我只复制了
VCTargetsPath
VCTargestPath14
,因为复制非常繁琐。VC++ 2015似乎足够了。

< P>我在这里尝试在没有安装C++ VisualStudio构建工具的情况下构建C++项目。我的解决方案是从VisualStudio构建工具安装程序从“VisualStudio 2017”工具的“下载工具”下载,安装程序安装有“VisualC++的构建工具”和“.NET桌面构建工具”选项。

我还遇到了HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0下注册表值丢失的问题

使用以下命令添加缺少的条目将其修复

REG ADD HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0 /v VCTargetsPath /t REG_SZ /d '$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0@VCTargetsPath)'
REG ADD HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0 /v VCTargetsPath14 /t REG_SZ /d '$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0@VCTargetsPath14)'

这些预览版本的质量低于alpha。除非使用虚拟机,否则不要在生产机器上安装RTM以外的任何东西。修复VS2010,重新安装