MSBuild不包含“VCTargetsPath”属性的值
我最近安装了Visual Studio 11 Developer Preview来试用它,现在我的VS 2010项目不会打开。相反,我得到了以下错误消息:MSBuild不包含“VCTargetsPath”属性的值
的MSBuild不包含在“VCTargetsPath值”属性
我发现有人报告了这个问题here on Connect,并从微软的回应是:
发布Microsoft在12/2/2011于下午5:25
嗨阿夫欣,感谢您的反馈。您遇到的问题已针对下一个公开发布的Visual Studio修复。
吉姆Griesmer
的Visual C++团队
神奇。那么如何恢复VCTargetsPath,以便我的项目能够再次运行?
“VCTargetsPath是在HKEY_LOCAL_MACHINE \ SOFTWARE定义\微软的工具箱财产\的MSBuild \ ToolsVersions \ 4.0”。
我浏览到在注册表中VCTargetPath值,并将它的数值:
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
不知道该从哪里出发。有什么建议么?
下面是做把戏对我的事:
命名DefaultToolsVersion
位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0
从2.0
到4.0
更改注册表值。在Wow6432Node
也做同样的事情。
“Mladen Jankovic”建议的注册表编辑方法不适用于我。
我刚刚在Visual Studio 2010上运行了修复(运行VS2010安装光盘上的setup.exe,或通过控制面板 - >程序调用'卸载')。它为我做了诡计。
您还应该再次运行SP1安装。
对于它的价值,我的'加载项'(包括Incredibuild)在此之后表现良好。他们不需要重新安装或修理。我的设置/窗口/调试器布局也被保留。 http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer-preview!.aspx
这似乎是合理的解决方案加文·普格了会解决这个问题,虽然我没有尝试:
显然,这个问题,如果你卸载VS11的开发者预览版只提出了自己。卸载VS11的开发人员预览版后,我也遇到了这个问题。我想我知道什么是错误的。
Mladen扬科维奇是在正确的轨道上。其中遵循两个(必要时)的注册表项是缺少我的机器上:
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
- 项名称:
VCTargetsPath
- 类型:
REG_SZ
- 值:
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
- 项名称:
-
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0
- 项名称:
VCTargetsPath
- 类型:
REG_SZ
- 值:
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
- 项名称:
(您可以通过键入 + R +注册表编辑器+输入编辑在Windows注册表项)对我而言,上面列出的第二个价值就是缺少的价值。添加完成后,我能够再次与我的项目合作。
也为我工作。第二个键(Wow6432Node)在x64系统上的VS11 CTP不稳定后丢失。 – 2012-02-25 08:46:04
如果使用VS 2010 SP1,请转至控制面板|卸载程序,卸载/更改VS 2010 SP1并选择重新应用SP1。它为我工作。
我一直有这个同样的问题,并发现该工具集标签并没有在该项目节点
设置设置工具版本解决了这个问题对我来说
我用c :\ Windows \ SysWOW64 \ regedit.exe并进入HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ 3.5,并在3.5版本的文件夹中列出了defaulttoolsversion 2.0,所以我将其修改为3.5,现在一切正常。
对于那些谁在这里通过谷歌搜索:
如果你以前安装VS 2015年或VS VS2010后的任何更新版本,然后卸载,这是你的解决方案。
在下面的错误消息:
无法评估属性表达式 “$([MSBuild的] :: ValueOrDefault( '$(VCTargetsPath)',“$(MSBuildExtensionsPath32)\ Microsoft.Cpp \ V4 。“)”
14.0是VS2015的版本号。不幸的是,VS2015/2012卸载程序忘记了其注册表项中的一个,当您返回到VS2010时会导致该错误。
转到开始/运行/注册表编辑器>
查找 HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的MSBuild \ ToolsVersions \ 14.0(12.0为好)
而且
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSBuild \ ToolsVersions \ 14.0(12.0)
如果这里有一个键14.0/12.0,删除它和你的VS2010将有望再次工作。
唉,我终于找到了这个答案,这亦没有给我同样的错误信息 - 我得到:
错误MSB4019:导入项目“C:\ Microsoft.Cpp.Default。道具“没有找到。确认声明中的路径是正确的,并且该文件存在于磁盘上。
出于某种原因,它在32位构建中运行良好,但不是64位构建。
无论如何,解决方法是将所有VCTargetPath*
密钥从HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0
复制到HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0
。他们错过了我。
其实我只复制了VCTargetsPath
和VCTargestPath14
,因为复制很繁琐。似乎对于VC++ 2015来说已经足够了。
这些预览版本小于alpha质量。除非您使用虚拟机,否则切勿在生产机器上安装RTM以外的任何其他设备修复VS2010,然后重新安装。 – 2011-12-14 00:11:28
客户预览也会发生这种情况,而不仅仅是您提到的那些“预先预先设置”。 – gparent 2012-03-08 00:29:09