I have a solution that needs to build with TFS. C# projects and some of C++ projects are upgraded to .Net Framework 4.6 and Platform Toolset v140. but some of the third party C++ projects can't upgrade (They are in V110). MSBuild is not able to use the appropriate toolset version for projects. It returns this error:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets (44): 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.
Is there any way to get this to work? It is possible for MSBuild to build a solution which has projects with different Platform Toolsets?
Thank you, Arash
ToolsVersion="14.0"
and usingPlatformToolset>v140</PlatformToolset>
, everything else using v120. When loading this into VS2013 (i.e. 12.0) it just ignores the v140 and builds like usual using v120. Same on the commandline using msbuild. Building everything in Visual Studio Online (which afaik is the new TFS?) though I get the exact same error as posted.. Why? - stijnVisual Studio Version
in the build definition in VS Online to Visual Studio 2015 everything builds, using msbuild 14, but it seems it figures out that the solution is made using VS2013 and as such it uses the v120 toolset for all projects, even the one which is set to v140. Not sure if this is of any help for you, but for me it basically means 'use the latest Visual Studio version in TFS and the rest worka automatically' - stijn