Share via

Visual Studio 2019 unable to load one project due to msbuild version

Andy Reynolds 30 Reputation points
2023-05-17T17:07:11.2166667+00:00

I'm setting up Visual Studio 2019 on a new Windows 11 PC and VS is unable to load one of the projects in a C# solution. Most of the projects in this solution target .NET Framework 4.5.2, but there is one targeting .NET Core 3.1, and VS won't load the 3.1 project with the following error:

error  : The project file cannot be opened. Version 7.0.302 of the .NET SDK requires at least version 17.4.0 of MSBuild. The current available version of MSBuild is 16.11.2.50704. Change the .NET SDK specified in global.json to an older version that requires the MSBuild version currently available.

I've also got VS 2022 installed on the PC for other newer applications.

I'm able to open the project without a problem on a Win 10 PC with both VS 2019 and 2022 installed.

I've searched for global.json, but it doesn't exist. I've also tried uninstalling and reinstalling both VS 2019 and 2022, and installing the SDK for .NET Framework 4.8, .NET Core 3.1, and .NET 7.0.

Developer technologies | Visual Studio | Other
Developer technologies | Visual Studio | Other

A family of Microsoft suites of integrated development tools for building applications for Windows, the web, mobile devices and many other platforms. Miscellaneous topics that do not fit into specific categories.

0 comments No comments

2 answers

Sort by: Most helpful
  1. Periam, David 60 Reputation points
    2023-07-19T11:06:50.82+00:00

    I resolved this following these three steps:

    1. install of .Net Framework 3.1
      1. AspNetCore-Runtime-3.1.32-win-x64;
      2. dotnet-runtime-3.1.32-win-z64;
      3. dotnet-sdk-3.1.426-win-x64;
    2. rename of "minimumMSBuildVersion" file, in "c:\program files\dotnet\sdk\7.0.306 to "___minimumMSBuildVersion"
    3. Restart Visual Studio IDE Problem solved.

    Was this answer helpful?

    10+ people found this answer helpful.

  2. Konstantinos Passadis 19,696 Reputation points MVP
    2023-05-17T17:21:42.3933333+00:00

    Hello

    Can you try to set explicitly the version

    https://learn.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2022

    https://learn.microsoft.com/en-us/visualstudio/msbuild/find-and-use-msbuild-versions?view=vs-2022

    https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version#configure-multiple-projects?WT.mc_id=DT-MVP-5003386

    If your source directory contains multiple project and you would like to set the language version for all projects explicitly, you can create Directory.Build.props file that contains the <LangVersion> element.

    <Project>

    <PropertyGroup>

    <LangVersion>preview</LangVersion>

    </PropertyGroup>

    </Project>

    Create a Directory.Build.props

    <Project>

    <PropertyGroup>

    **<MSBuildToolsVersion>17.0</MSBuildToolsVersion>**
    

    </PropertyGroup>

    </Project>

    This will force your project to use MSBuild version 17.0.

    I hope this helps!

    Kindly mark the answer as Accepted and Upvote in case it helped!

    Regards

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.