Search code examples
c++visual-studiovisual-studio-2012compilation3dsmax

Can't upgrade Visual studio solution to 2013


I don't know what is wrong with the project, i have Visual Studio 2013 on a new computer and i never had 2012, this is a clean computer.

I made a project with the 3DS Max 2015 SDK That makes a clean project, but turns out it's made for 2012 for some reason (despite i made it with 2013).

So i changed the toolset in the project settings and i even tried to "upgrade solution", but it's still stuck on 2012 on the visual studio window.

And well obviously this pops up every time i try to compile.

Error 1 error MSB8020: The build tools for Visual Studio 2012 (Platform Toolset = 'v110') cannot be found. To build using the v110 build tools, please install Visual Studio 2012 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 "Upgrade Solution...".

The thing is that if you open for example the project with Notepad, you check the tools of the project and it's 2013.

<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Hybrid|x64'">
    <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <PlatformToolset>v120</PlatformToolset>

It doesn't make any sense and it's still there not letting me to compile, any suggestions of why is this going on? i don't understand at all why is this happening and hopefully i won't have to install 2012 version.


Solution

  • The SDK propertySheets overrides this setting, so no matter what you do in your project the template will still override it.

    To change this - edit the version number in the file:

    \maxsdk\ProjectSettings\propertySheets\3dsmax.general.project.settings.props
    

    Edit this line:

    <PlatformToolset>v110</PlatformToolset>
    

    To your platform number, then it works.

    I did the same in one of my own projects where I needed visual studio 2013, and ran into the same issue as you describe.