Visual Studio 2012 platform toolset v110_xp - visual-studio-2012

I'm trying to build a program using Visual Studio 2012. It's platform toolset property was set to 'v110_xp' but I changed it to 'v110'
Now I'm getting the error:
Error 2 error MSB8020: The builds tools for v110_xp (Platform Toolset = 'v110_xp') cannot be found. To build using the v110_xp build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v110_xp to build using the v110_xp build tools. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets 44
I already updated the VC++ Project and I also changed the platform toolset property to Visual Studio 2012 (v110) (it was originally set to v110_xp)
I also opened the .vcxproj file in another editor and manually changed it to use v110.
Does anybody know how to fix this error?

I updated Visual Studio 2012 to Update 4 and that seems to fix it.

Related

Error MSB8020, changed build tools, still not working

I'm trying to install the ogre sdk for Visual Studio 2012 express as per these instructions, but when I try to build the ALL_BUILD project, I get this error:
Error 1 error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v140 to build using the v140 build tools. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets 44 5 Sample_VolumeTex
I looked into project properties and indeed the platform tool set was set to v140, and so I changed it to v110 but I'm still getting the same MSB8020 error. I also tried right clicking the solution, but there's no option to update vc++ projects. Can someone please help me figure out what's going on?

Web Publishing Extension not installed in Visual Studio 2015

I'm using Visual Studio 2015 trying to publish my app, but when I try to do so I get the error:
The Web Publishing Extension is not installed which is required to publish. You can install it from http://go.microsoft.com/fwlink/?linkid=208120
I tried repairing Visual Studio and reinstalling Azure SDK for VS 2015 but the problem persists. I wanted to try the solution posted here but I don't have a folder named Publish in C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\
Any idea about what can be the problem? I found a lot of post in SO about this problem but can't find any solution when there isn't any folder named Publish. I'm on Windows 10.
Solved it by reinstalling Microsoft ASP.NET and Web Tools using Visual Studio Extensions and Updates menu (Tools -> Extensions and Updates...)

How to specify MS visual studio version for nexe?

I'm trying to compile my node.js project into a binary using nexe. I only have Microsoft Visual studio 2012, so the compiler complains it can't find MSVS2010
error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found.
In nexe's requirement section, it does mention MSVS2012 can be supported, so I'd like to figure out a way to specify MSVS version.
I tried --msversion=2012 as in NPM installation but no luck.
Appreciate any advice on this.

How to build with v90 platform toolset in VS2012 without VS2008, using Windows SDK?

I use Visual Studio 2012 and this is the only version of Visual Studio I have installed. I need to build certain C++ projects with the v90 platform toolset (of Visual Studio 2008), but I can't install Visual Studio 2008.
I understand it is possible to use the v90 platform toolset by installing Windows SDK 7.0. How exactly is it done? If I simply use the web installer of 7.0 SP1, I still don't see v90 as one of the possible platform toolsets.
It is possible, but apparently requires some maneuvering and will not support building MFC applications. The following assumes that VS2012 update 4 is installed, but neither VS2010 nor VS2008 are installed.
Download the x86 DVD of SDK 7.0 SP1 (GRMSDK_EN_DVD.iso). Mount the ISO or extract its contents, and manually install the MSI files from the following folders under the Setup folder:
WinSDK (this may fail, it's ok)
WinSDKBuild
WinSDKInterop
WinSDKTools
WinSDKWin32Tools
vc_stdx86
vc_stdamd64
winsdk_intellidocs
WinSDKIntellisenceRefAssys
WinSDKNetFxTools
Download the x86 DVD of SDK 7.1 (GRMSDK_EN_DVD.iso). Mount the ISO or extract its contents, and manually install the MSI files from the same folders listed above (except winsdk_intellidocs, which doesn't exist).
Go to C:\Program Files (x86)\Microsoft Visual Studio 9.0. Copy the following files from Common7\IDE to VC\bin:
msobj80.dll
mspdb80.dll
mspdbcore.dll
mspdbsrv.exe
Now you should be able to choose the v90 platform toolset in Visual Studio 2012 and build with it.
Explanations (and sources):
Individual MSI installation is based on the second workaround from this connect report.
The requirement for both 7.0 and 7.1 is based on this question (both VS2010 and VS2008 are required to use v90 in VS2012!). SDK 7.1 is not needed if you have VS2010.
DLL/EXE copying requirement is based on yet another question. If you do not copy them, you will see error MSB6006: "CL.exe" exited with code -1073741515.
In addition to this answer I want to add that
You can install SDK 7.0 simply by running setup, there is no problem with it.
You can install SDK 7.1 by running setup, if you remove Microsoft Visual C++ 2010 Redistributables first and fix following registry values:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full]
"Version"="4.0.30319"
You can (and probably should) restore these values to whatever they originally were after installation is complete.
Do not forget to install KB2519277 after this, it updates compilers in SDK 7.1 to SP1.
You don't need to copy any dll. MSBuild uses
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC#ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC#ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS#ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VS#ProductDir
to set up paths. It's probably wise to fix them to point to "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\" and "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\" as it might be useful elsewhere in build process.
Same goes for version 10.0 if you plan to use Windows7.1SDK toolset.
Use WindowsSdkVer.exe to set current SDK to 7.1 to defeat cryptic error in Microsoft.Cpp.x64.Targets(63,5) about missing unnamed required file. If the tool gives you error, then set these values manually:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows#CurrentInstallFolder
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows#CurrentInstallFolder
to point to newly installed SDK. The tool needs some registry keys from Visual Studio installation to work properly, but there are many and I'm not sure which are important.
Reboot. None of the above asks you to, but without reboot I got errors when trying to build a project.
As an aside, SDK7.1 adds v100 toolset, but it won't work, saying something about Could not find WindowsSDKDir variable from the registry. This is because v100 actually requires SDK7.0A which comes with Visual Studio 2010 and is not available separately. Windows7.1SDK toolset is the one which utilises VC2010 compilers if you need them.
Microsoft.Cpp.Win32.*.props files have a lot of relevant stuff if something fails in build system.
One addition/update for VS2013 to Yodans answer:
My working setup:
VS2013 has to use VS2010 libs
Using WinSDK 7.1 (Yodans 2.) build tools (v100) in VS2013
clean install, uninstalling everything mentioned in the sdk release notes (can be downloaded at http://www.microsoft.com/en-us/download/details.aspx?id=8279 under category Details)
Microsoft Windows SDK for Windows 7 (7.1) (the Windows SDK core-component files)
Application Verifier
Debugging Tools for Windows
Windows Performance Toolkit
Microsoft Help Viewer 1.0
Microsoft Visual C++ 2010 Redistributable
Microsoft Visual C++ 2010 Standard Edition
Additionally removed all .NET and VC++ related MS Software (not tested if necessary)
choosing Windows7.1SDK as Platform Toolset in VS2013
error MSB6006: "CL.exe" exited with code -1073741515
cl.exe uses msobj100.dll, mspdb100.dll, mspdbcore.dll and mspdbsrv.exe
Added to PATH C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
Build works and binary is usable ( So now its tested Yodan ;-) )
My mistake:
copied files in 7. above to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin (Yodans 3.), believing this dir is in PATH, but it was not!
So better do as sugested by Yodan and tested by myself in 8. above
p.s. same answer is solving this problem:
Visual Studio 2013: CL.exe exited with code -1073741515

Installing PlatformToolset v110 without installing Visual Studio 2012

We have a Visual Studio solution that contains some VC++ projects, and we've currently upgraded to Visual Studio 2012 from VS2010. In the process we also lifted the VC++ projects to PlatformToolset v110.
On our build server (Jenkins), we would like to build this project with MsBuild without having to install VS2012. But I can't get it to work, and I think it's because the folder C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110 must be present.
This folder and its contents is created during installation of VS2012, but as far as I can tell it won't be included in either the Windows SDK 7.1 or Windows SDK 8.0?
Is there any other SDK or installation package that can help with this issue?
I know it's not really without installing Visual Studio 2012, but:
If licensing costs are the biggest driver perhaps the Express for Windows Desktop edition could be an alternative. You could keep the installation to the minimum required to support C++ builds.

Resources