[4.17.2] Visual Studio compiles but with warning: warning MSB4011

I recently updated to 4.17.2 and VS2017.

Got this warning during compile in VS2017:


...\Common7\IDE\VC\VCTargets\Microsoft.Cpp.props(31,3): warning MSB4011: "...\Common7\IDE\VC\VCTargets\Microsoft.Makefile.props" cannot be imported again. It was already imported at "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.cpp.props (31,3)". This is most likely a build authoring error. This subsequent import will be ignored. ...\MyProject\Intermediate\ProjectFiles\MyProject.vcxproj]

The project appears to compile fine, reporting 1 success.
But the warning worries me. What does it mean and how do I get rid of it?

Just means some project is referencing visual studio project properties twice - you can safely ignore it. It’s likely just some overlap between all the various UE4 projects/sub projects in the solution.

I had the same problem as you. And the solution that I find here: How to: Modify the Target Framework and Platform Toolset | Microsoft Learn - Helped me to fix the problem. The Warning was referring to the version being set to >v140< on the creation of the project in the file .vcxproj. because of the files created in the folder MSBuild from the installation of VC++ 2015.3 v14.00 (v140) for desktop selected on the vs installer. and like ExtraLifeMatt said. The project was referencing vs project properties twice. and in my case “C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\Microsoft.Cpp.props”. So the only thing that you have to do is uninstall(uncheck) the VC++ 2015.3 v14.00 (v140) for desktop on the installer. if you’re not using a version of the engine that uses that Toolset version, or you can make direct changes to the .vcxproj file like I did. With my solution configuration set to Development Editor, I made changes at


 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Development_Editor|x64'" Label="Configuration">
    <ConfigurationType>Makefile</ConfigurationType>
    <PlatformToolset>v140</PlatformToolset>
  </PropertyGroup>

to


<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Development_Editor|x64'" Label="Configuration">
    <ConfigurationType>Makefile</ConfigurationType>
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>