Related
I have tried to switch to Visual Studio 2019 since it is now officially released, but I am having problems building a C++/CX based project.
I have not retargeted the project, but it is still configured to use the v141 platform toolset, i.e. Visual Studio 2017 Build Tools.
As far as I can tell, I have specifically installed the required build tools in Visual Studio 2019, which should be evident here:
Still, according to the project properties, Visual Studio 2017 Build Tools are not installed:
And when I build the project I get the following error:
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(378,5): error MSB8020: The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
Am I still missing some components in my installation, or is this a bug in Visual Studio 2019?
EDIT I should point out that I still have Visual Studio 2017 installed on the same computer as well.
I had a similar issue, but this is what I was missing.
You will find these options on the Workloads tab of the VS installer on the right under Installation details (i.e. not under Individual components).
It turns out that the (Windows Runtime Component) project was not properly set up. In the .vcxproj file the ApplicationTypeRevision element was missing, which is also "evident" (if you know what you are looking for...) from looking at the project properties above, where only the General configuration properties node is visible, and the Target Platform value is empty.
Inserting the following line in the .vcxproj file immediately following e.g. the WindowsTargetPlatformMinVersion element should do the trick:
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
Most likely, it was also necessary to add the C++ Universal Windows Platform Tools. The v142 version was made available when trying to create a new C++ Universal Windows Platform project. As far as I could tell, this component was not otherwise visible in the Visual Studio Installer? Once the v142 component was installed, the corresponding v141 component was also available for installation.
I had this same problem for Visual Studio 2017, even though V141 was explicitly shown as installed. It turned out the problem was that VCTargetsPath was set in System Environment Variables to "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\V4.0\V140". Removing or unsetting this variable solved the issue.
I suspect this variable was set during an earlier install of Visual Studio 2015. Even after uninstalling all other Visual Studios the variable was never removed and the problem persisted.
Using visual studio 2012 on windows 8 x64
aparantly this is caused by msbuild being moved into .net but I havn't seen how to fix it yet.
4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5):
error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.
If you have VS2013 installed and are getting this error, you may be invoking the wrong MSBuild. With VS2013, Microsoft now includes MSBuild as part of Visual Studio. See this Visual Studio blog posting for details.
In particular, note the new location of the binaries:
On 32-bit machines they can be found in: C:\Program
Files\MSBuild\12.0\bin
On 64-bit machines the 32-bit tools will be under: C:\Program Files
(x86)\MSBuild\12.0\bin
and the 64-bit tools under: C:\Program Files
(x86)\MSBuild\12.0\bin\amd64
The MSBuild in %WINDIR%\Microsoft.NET\Framework\ doesn't seem to recognize the VS2013 (v120) platform toolset.
http://en.wikipedia.org/wiki/Visual_C++
You are using Visual C++ 2012 which is v110. v120 means Visual C++ 2013.
So either you change the project settings to use toolset v110, or you install Visual Studio 2013 on this machine and use VS2013 to compile it.
if you are using visual 2012
right-click on project name -> properties -> configuration properties -> general -> platform toolset -> Visual Studio 2012 (v110)
Download and setup Microsoft Build Tools 2013 from
http://www.microsoft.com/en-US/download/details.aspx?id=40760
To add up to Kevin and Lex's answers:
We had a similar situation at work where both the developers and the build server had Visual Studio 2013. Our solution had a VS 2013 C++ project and compiled fine when built on developer's machine or on the build server within the IDE.
The issue was when triggering builds using TFS build definitions. We were still using an old build template (version 11.1) instead of 12.0. Fortunately, a simple attribute addition to the template xaml file solved the issue.
In the Sequence portion "Compile the Project", there is a xaml node that starts with
mtbwa:MSBuild CommandLineArgument=....
You can add a "ToolPath" attribute and point it to the right path of the MSBuild.exe you wish to invoke, based on Kevin's answer. For instance:
ToolPath="C:\Program Files (x86)\MSBuild\12.0\Bin"
Wasted 4+ hours on this.
I have Visual Studio 2017 Enterprise, one of the projects has below error:
The builds tools for v120 (Platform Toolset = 'v120') cannot be found
To resolve above error, I tried to install all below:
Microsoft Build Tools 2013 (v120
tools) https://www.microsoft.com/en-US/download/details.aspx?id=40760
Microsoft Build Tools
2015 https://www.microsoft.com/en-in/download/details.aspx?id=48159
Build Tools for Visual Studio
2017 https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017
However, none of the above worked.
Later, installed Visual Studio 2013 Ultimate, then all worked fine.
Looks like, the older Visual studio is a must to resolve this.
Hope it helps.
To add up to Louis answer:
Alternatively you can use the attribute ToolVersion="12.0" if you are using Visual Studio 2013 instead of using the ToolPath Attribute. Details visit http://msdn.microsoft.com/en-us/library/dd647548.aspx
So you are not forced to use absolute path.
When a VS2013 C++ project is opened in VS2015, and there are warnings about "The build tools for v120... cannot be found", I simply need to edit the .vcxproj file and change <PlatformToolset>v120</PlatformToolset> to <PlatformToolset>v140</PlatformToolset>, and close and re-open the solution.
In VS 2012, I was getting "SMB2 will not build: Error 1 error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install Visual Studio 2010 to build using the Visual Studio 2010 build tools."
Throwing caution to the wind, I tried the suggestion: Selected the Solution in Solution Explorer, then clicked in the "Update VC++" menu item. This did some updateing and then started a build which succeeded.
The "Update VC++" menu item no longer appears in the solution menu.
i had a similar problem when i removed VS 2013 community Update 5 and switched over to VS 2015 community edition
and the problem acquired in windows phone 8.1 projects where it complained about not having the right msbuild toolset and about the emulators not installed even if they are.
i know that the source of the problem was the VS 2013 community settings that has been left by that last uninstall which messed everything for me even though the uninstall process went smooth with no problems from the control panel.
i did my best to remove any files left but there was always some thing left.
and what only fixed it for me is a fresh windows 10 x64 installation then after it i installed VS 2015 community edition and that's it!! no more errors for me and the wp8.1 emulator worked fine too!!
in my case now am completely sure that the previous visual studio install settings has messed everything for me and because there wasn't any way i found and tried to completely erase VS 2013 community files and settings i had to pay the price for it and reinstall my OS.
you might be able to avoid OS reinstall if you can find a way to completely erase last visual studio install files.
P.S:only attempt this solution(OS reinstall) after you tried every possible way first then if nothing works and only then ... make this solution as a last resort.
In VS2013 to set up all projects to correct build tools, you can do a right click on the solution in solution explorer and choose "Retarget solution". It will change all progects (all you check with the checkbox in opened dialog), so the error will be gone.
In my case, I have double-clicked a Visual 2013 sln file and Visual 2012 opened (instead of Visual 2013). Trying to compile with Visual 2012, a project that has the Platform Toolset set to "v120" showed the error above mentioned. However, reopening the sln with Visual 2013, the Platform Toolset was set to "Visual Studio 2013 (v120)" - please note the complete name this time -, actually did the job for me. The project compiles well now.
I was getting the same error with building USBView project in VS2015. I removed this error by selecting 'Platform Toolset' settings to to "Visual Studio 2015 (v140)" and than right click on solution (in VS2015) and select 'Retarget Solution' and selected 10.0.10240.0 on that dialog.
It seems like there is also ProjectUpgradeTool from microsoft which is suppose to convert older projects to upgrade to post VS2012 VS but I couldn't locate that tool on my machine.
I still have to fix some new linker error with help of this.
I had a similar problem. VS 2015 Community (MSBuild 14) building a c++ app, wanted to use VS 2010 (v100) tools. It all came down giving msbuild an invalid configuration option. Strange.
So, recheck all those options and parameters.
If you use make generators like cmake, JUCE, etc. try to set a correct VS version target (2013, 2015, 2017) and regenerate the solution again.
I was facing same issue while building some of project.
I used Visual Studio 2015 IDE, there it was working fine but while giving build from PowerShell script, it was giving toolset related "The builds tools for v140 (Platform Toolset = 'v140') cannot be found." error
So eventually it was issue of pointing to incorrect MSBUILD exe for the respective project.
Earlier I was pointing to
$MSBUILD="C:\windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
And build was successful when I updated script to point to
$MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
Hence to resolve the issue, please make sure to use correct MSBUILD.
This morning I faced a problem while opening my Visual Studio solution, and when I tried to run it, it said:
No exports were found that match the constraint contract name
How can I fix this problem?
I solved this problem by clearing Visual Studio Component Model Cache.
Just delete or rename this folder:
%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache
or
%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache
and restart Visual Studio.
The version of Visual Studio you have is specified by the number e.g.
Visual Studio 2012 is 11.0 (as shown above)
Visual Studio 2013 is 12.0
Visual Studio 2015 is 14.0
Visual Studio 2017 is 15.0
Visual Studio 2019 is 16.0
For those that don't know:
%LocalAppData%\ is the same as C:\Users\{yourUsername}\AppData\Local
For those who have multiple versions of Visual Studio installed, e.g. 2012 and 2013, it might help to remove the ComponentModelCache for both versions before restarting Visual Studio, e.g. 11.0 and 12.0.
No need to rename or delete the whole folder:
(%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache)
Just rename or delete the Microsoft.VisualStudio.Default.cache file inside the above location.
Visual Studio Express 2012 has different paths.
Visual Studio Express
...\Users\{user}\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache
With Visual Studio Express 2012 for Web
...\Users\{user}\AppData\Local\Microsoft\VWDExpress\11.0\ComponentModelCache
I did not have to re-install Visual Studio Express
This will really work like a champ:
Solution: Try to delete ComponentModelCache folder from the below location.
[C:]\Users\[your user name]\AppData\Local\Microsoft\VisualStudio\[Visual Studio version number]
And after successful delete, recreate the folder with the same name, "ComponentModelCache".
This issue can be resolved by deleting or clearing all the folders and files from %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache
This actually clears the Visual Studio component model cache.
On Windows 7 machines, the path is different. When you type %appdata% in Run dialog, it opens the folder C:\Users\<username>\AppData\Roaming.
Click the 'up' button to navigate to the parent folder and select the folder 'Local'.
Final path: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache
Deleting the Component Model Cache did not work for me (well, the relative directory given above did not exist in my machine). Instead, I installed an extension to Visual Studio 2012 Express. Menu Tools → Extensions and Updates... → Online → Choose any and then download. This apparently invalidates the cache causing Visual Studio to rebuild it.
Here's my source.
For Visual Studio 2013 you need to remove that folder from this path:
%AppData%\..\Local\Microsoft\VisualStudio\12.0
for Visual Studio 2012 and later versions, the solution must be deleting the content of the folder ComponentModelCache:
C:\Users\[username]\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache
Visual Studio 2013
C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache
I had the same problem upon launching Visual Studio 2013 Ultimate, and the solutions here didn't work for me. I tried deleting the mentioned folders and starting Visual Studio again, but it didn't work.
However I had other problems too, like Microsoft.visual studio package did not load correctly and also Page '312e8a59-2712-48a1-863e-0ef4e67961fc' not found VS 2012. The latter refers to a message in the Team Explorer window saying "Page 'somenumber' cannot be found".
So I run devenv /setup on the Visual Studio command prompt with administrative rights. It did the job, and everything is fine now.
Remove ComponentModelCache folder content.
%AppData%..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache
Clearing the folders didn't work for me. So I went to 'Programs and Features' and used the change button to startup the Visual Studio 2013 setup.
In the setup I choose the repair function and that fixed the problem for me.
I had the same problem with Visual Studio Express 2013 of Windows 8.1.
Unfortunatly there was no "ComponentModelCache" folder in
%AppData%..\Local\Microsoft\VisualStudio\12.0\ComponentModelCache.
I found the "ComponentModelCache" folder in
..\Users[username]\AppData\Local\Microsoft\WDExpress\12.0
and solved this problem by removing this folder from there.
If you have VS 2013, you have to go to: %LOCALAPPDATA%\Microsoft\VisualStudio\12.0
then rename the ComponentModelCache folder.
I experienced a similar problem after some updates released from Microsoft (part of them where about .NET framework 4.5).
On the Internet I got the following link to the Microsoft knowledge base article:
Update for Microsoft Visual Studio 2012 (KB2781514)
It worked for me.
This happened to me with Visual Studio 2013 Web, after Windows installed several updates. Unfortunately none of the suggestions in this thread helped.
I had to re-run the installer and select the "Repair" option. After that (and a reboot) it was working once again.
In some cases you may have to repair more than one version of Visual Studio. One example is when a Script Task control in VS 2013 opens VS 2012 when you click Edit Script.
Renaming the ComponentModelCache folder worked for me in Visual Studio 2015, but with a slightly different path:
%AppData%\..\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
I have Windows 7 x64 with a second partition on which Windows 8 (preview installed). While working with Microsoft Visual Studio Express 2012 for Windows Phone, I come up with the same problem. But the ComponentModelCache is found here:
C:\Users\Jayaram\AppData\Local\Microsoft\VPDExpress\11.0
I am unable to delete or rename as I get the "access is denied" message when I try to use command prompt:
Administrator: VS2012 X64 CrossToolsCommandPrompt
This issue is because of a MEF cache corruption.
Installing the feedback extension (or installing any extension) will invalidate the cache causing VS to rebuild it.
click for source.
i experienced this problem in Microsoft Visual Studio Express 2012 for windows phone while trying to open file.
Then i browsed to
C:\Users\MyUserName\AppData\Local\Microsoft\VPDExpress\11.0\ComponentModelCache
And Inside ComponentModelCache i deleted Microsoft.VisualStudio.Default.cache CACHE file. Finaly i restarted visual studio and reopened my project.
Then my problem was solved, i was able to open file.
Note: My OS is windows 8. And i installed SDK 8 for developing windows phone app
Thanks
I am using Visual Studio 2012. After installing the Visual Studio 2013 web express, when I want to run or open any project in Visual Studio 2012 it shows me the following error:
"no exports were found that match the constraint contract name".
I also tried the above solution for clearing the ComponentModelCache,
but I did not find the folder. I solves my problem just by: Repair Visual Studio 2012
For the Express versions of the software, the folder you need is in a slightly different place(s): For Express 2012 for Web it is C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpress - not in the Visual Studio folder.
I got an error with the same error message - two years later.
It's a different problem this time though, related to .NET Core dnx things.
I couldn't find an answer on Stack Overflow, but there's a GitHub issue that contains a workaround: https://github.com/aspnet/Home/issues/1455
Below is the most important part of the workaround:
Delete the entire C:\Program Files (x86)\Microsoft Visual Studio
14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNX directory. (As far as I understand, it belongs to the old version of ASP.NET Core
RC1, which for some reason is still shipped even with Visual Studio 2015 Update-3).
Delete the C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.config file.
Run the Developer Command Prompt for Visual Studio 2015 as Administrator, and execute the devenv /setup command. The new devenv.exe.config file is generated. This time there are many assemblies that refer to the
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNet directory.
Run the Visual Studio 2015 and check that it shows the Microsoft .NET Core Tools (Preview 2) 14.1.20624.0 in the Help => About Microsoft Visual Studio menu.
Thanks to olegburov's post on GitHub for figuring this out.
I had to uninstall some external components like Postsharp and Apex and then it worked. I also tried the chosen solution but it gave me more errors.
Deleting the folders haven't worked for me i have go control panel and repaired
Visual Studio Installer Projects extensions for VS 2013.
And it worked for me
I got this error after reinstalling IntelliJ IDEA and ReSharper for C# in Visual Studio 2013.
First, I got an error problem with extensions, and after this I got this error:
"No exports were found that match the constraint contract name”
I simply removed folder ComponentModelCache and resolved this error.
My 2 cents:
Following all above lifesaving tips, I had a slightly different experience; mine is VS 2017 Community Edition, installed once, and I notice that have all these 3 folders:
%LocalAppData%\Microsoft\VisualStudio\15.0 ==> Empty
%LocalAppData%\Microsoft\VisualStudio\7f0c75b0 ==> has only the CoreCon folder
This is the one that has the ComponentModelCache:
%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0
Deleting only the Microsoft.VisualStudio.Default.cache had no effect.
So, I deleted all 4 files there: .cache, .err, .external and catalogs.
On restarting VS, problem gone and appeared a 5th file:
Microsoft.VisualStudio.Default.scan
Removing ComponentModelCache did not work for me. Reinstalling VS 2019 did thanks to a recommendation on this Microsoft support thread.
Details
This seems to be a known bug with a fix incoming from MS (as of 1/7/2020)
Experienced after upgrading from VS2019 Pro 16.2 (i think it was?) to 16.4.2 using Visual Studio Installer
Error displayed when trying to launch both nuget console and nuget package manager
I have a newly built Windows 8 VM with VS 2012 Premium running on it, when I try open any sln file I get the following modal pop up error
Visual Studio 2010 Shell
Invalid license data. Reinstall is required.
I can open the sln's if I open up VS and then do project open, this is really annoying, any ideas how I fix it?
*Note I have done a VS repair and it didn't solve it...and I never had any VS RC release on the machine, all new build with s/w downloaded from the MSDN
Cheers
I encountered the same exact error when I created a solution with a full version of Visual Studio 2012 Professional on one machine and then tried to open the solution file with a copy of Visual Studio 2012 Express on a different machine. I got the error when double-clicking the solution file, but not when loading the solution into an already opened instance.
I fixed the error by opening the solution file (.sln) with notepad and changing the line that says Visual Studio 2012 to say Visual Studio Express 2012 for Windows Desktop.
After that, I was able to double-click to open the solution file on the machine that has Express installed.
I'm using VS 2013. I fixed this by right clicking the .sln and setting the Open With parameter to visual studio 2013 and not VS version selector or VS 2010.
I have faced the same problem. When I set the system Date and Time to the current Date and Time, The Problem solved by itself.
It looks like the .sln extension is owned by "Visual Studio 2010 Shell" a minimal version of Visual Studio that ships with products like SQL Server and Office to provide support for add-in development without any other features. Since this is a minimal version, it's unable to load any project type that ships with Visual Studio Express, Professional or above.
The same may happen when you have Visual Studio Express installed next to a full version of Visual Studio.
This may happen when you install an older version of Office or SQL Server after having installed Visual Studio. The old installer will hijack the extension.
To repair this problem:
use the "Open With" option of Windows and select the "Visual Studio Version Selector" as your default action.
Or open the "Default Programs" option in Windows, look up the .sln extension and make sure it uses the "Visual Studio Version Selector" as default:
Or locate Visual Studio 2012 in the Programs and Features window of Windows and chose "Change", the Visual Studio installer will pop up, chose "Repair" to have it repair the file associations and any other problems that may arise by installing Visual Studio versions in reverse order (it may for example mess up the MsBuild directory as well).
Remember that when Visual Studio 2010 was released, it could not yet know what Visual Studio 2012 would change, as such, it's best to install versions of Visual Studio in the order they were released. This may sometimes prove difficult, as other products may install Visual Studio versions without you knowing.
I installed Visual Studio 2008 package FULL option. It worked with out any problem. I installed Vstudio 2008 and MSDN in separate folder in the D drive. 2 days later in order to remove my projects i uninstalled every thing and also i deleted visual studio 2008, visual studio 2005 folders from C:\Documents and Settings\IRCTC\My Documents. (I believe these 2 folders were automatically created when we install visual studio) also I cleared %path% and path (c/windows/path). Again I installed VISUAL STUDIO 2008 but now I can't able to create window application (other web, vb also), what is the solution for this ...
ERROR that shown is
c:/documents and settings/IRCTC/local settings/temp/g1zzsdl.bak/temp/windowsFormsApplication.csproj cannot be opened because project type (.csproj) is not supported by this version of visual studio.......
Whether any system file corrupted (windows temp or .net folber in windows).....
No other installation problem found in my system.....
please help.....
What are the files/folders required for the installation......
When you get that error is usually because:
You are trying to open a project created with a previous version of Visual Studio (not your case)
There was a bit of a screw-up during the installation (sounds like your case)
I'd uninstall the thing and reinstall completely first thing.
If it still doesn't work, it could be related to VS templates and you might wanna try and run from Visual Studio 2008 command prompt:
devenv /InstallVSTemplates
If it still doesn't work, open Visual Studio, in the menu, Open Tools->Options->Projects and Solutions->General. At this point you will notice the path of Project Templates is set to "C:\Documents and Settings[yourUserName]\My Documents\Visual Studio 9\Templates\ProjectTemplates" or something very similar to that. In order to fix it you gotta set that path to C:\Program Files\Microsoft Visual Studio 9\Common7\IDE\Project Templates or the same path according to wherever you installed Visual Studio
I don't think is related to VS project Templates though - see this link
Try and see what happens!
Why didn't you use visual studio's uninstall function available from the control panel|add/remove programs?
I would uninstall the latest installation as described above, and try again.