I recently installed the Visual Studio 11 Developer Preview to try it out, and now my VS 2010 projects won't open. Instead, I get the following error message:
MSBuild does not contain a value for the "VCTargetsPath" property
I found someone that had reported the issue here on Connect, and the response from Microsoft was:
Posted by Microsoft on 12/2/2011 at 5:25 PM
Hi Afshin,Thanks for the feedback. The issue you ran into is fixed for the next public release Visual Studio.
Jim Griesmer
Visual C++ Team
Fantastic. So how do I restore VCTargetsPath so my projects will work again?
"VCTargetsPath is a toolset property that is defined in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0. "
I browsed to the VCTargetPath value in the registry and it has the value:
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
Not sure where to go from here. Any suggestions?
If working with VS 2010 SP1, go to Control Panel | Uninstall a program, Uninstall/Change the VS 2010 SP1 and pick reapply SP1. It worked for me.
It seems reasonable that the solution Gavin Pugh gave would fix the problem, though I didn't try it. I too ran into this problem after uninstalling the Developer Preview of VS11. I think I know what is really wrong though.
Mladen Jankovic was on the right track. One of the follow two (necessary) registry keys was missing on my machine:
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\
(You can edit registry keys in Windows by typing +R+regedit+Enter)
For me, the second value I listed above was the one that was missing. After I added it, I was able to work with my project again.
For those who are here by google search :
If you had previously installed VS 2015 or any later versions of vs after vs2010, and then uninstalled, Here is the solution for you.
In the error message below :
14.0 is the version number of VS2015. Unfortunately, the VS2015/2012 uninstaller forgets one of its registry keys, which then causes that error when you go back to VS2010.
Go to start/run/ regedit >
Look for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0 (12.0 as well)
And
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0 (12.0 as well )
If there is a key 14.0/12.0 here, delete it and your VS2010 will hopefully work again.
The registry editing method suggested by "Mladen Jankovic" didn't work for me.
I just ran a repair on Visual Studio 2010 (run the setup.exe on the VS2010 install disc, or invoke the 'uninstall' via Control Panel->Programs). It did the trick for me.
You also should run the SP1 install again.
For what it's worth, my 'add-ins' (including Incredibuild) behaved fine after this. They didn't need to be reinstalled or repaired. My settings/window/debugger placement also was retained.
Apparently this issue only presents itself if you uninstall the Developer Preview of VS11: http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer-preview!.aspx
Here's the thing that did trick for me:
Change registry value named
DefaultToolsVersion
located inHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0
from2.0
to4.0
. Do the same thing inWow6432Node
too.I arrived here when trying to build a c++ project without the c++ Visual Studio build tools installed. My solution was to download the Visual Studio Build Tools installer from the downloads page under 'Tools for Visual Studio 2017' tab, running the installer with the"Visual C++ build tools" and ".NET Desktop Build Tools" options.