Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

only select MSBuild from VS if .NET SDK Resolvers are present #1845

Merged
merged 7 commits into from
Jul 2, 2020

Conversation

filipw
Copy link
Member

@filipw filipw commented Jun 23, 2020

This is an aggressive change, similar to when we dropped VS < 16.3 to support .NET core better, one that I believe is necessary to improve user experience.

We will no longer select MSBuild from VS instance, if that instance doesn't have .NET SDK resolvers. The rationale is that vast majority of users want to use new SDK based projects, and not having it along the selected MSBuild instance currently leads into a broken state without much info of what went wrong.

If someone is negatively affected - doesn't need .NET SDK (old style projects, unity) and now gets shifted to stand alone instance, they can still use the MSBuild override feature. This is similar to what we recommended to VS 2017 users back in the day.

Additionally, I improved the warning messages:

  • we now print a warning that you have VS version that is <16.3 and ask you to upgrade
  • we now print a warning that you have a VS version that is >= 16.3 but without .NET SDK and ask you to update that

Hopefully this will improve the ability for users to "self troubleshoot" the issues.

Fixes #1842
Fixes #1730

and several other Microsoft.Build.Exceptions.InvalidProjectFileException: The SDK 'Microsoft.NET.Sdk' specified could not be found. on Windows.

@JoeRobich JoeRobich merged commit 8e78f74 into OmniSharp:master Jul 2, 2020
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
3 participants