Starting with Visual Studio 2017 version 15.9, we’ve changed how the Visual Studio tooling for .NET consumes .NET Core SDKs. Prior to this change, installing a preview version of the .NET Core SDK would cause all Visual Studio tooling for .NET Core to use that SDK because it had a higher version.
We now have a compatibility check in the .NET Core SDK that allows for a given SDK to mark a minimum required Visual Studio version. This ensures that the Visual Studio tools for .NET Core will not try to use an SDK that requires a newer Visual Studio version.
For stable releases of Visual Studio, the tools will now default to consuming only the latest stable version of the SDK that is installed on your machine. If you install any preview SDKs, the tools will not consume them by default. You can change this setting in Tools > Options > Projects and Solutions > .NET Core:
For preview releases of Visual Studio, the tools will continue to consume the latest preview version of the SDK that is installed on your machine by default. You cannot change the option to turn this off for preview releases of Visual Studio because they usually require a corresponding preview SDK to work correctly.
If you specify an SDK explicitly with a global.json file, the tooling will adhere to normal global.json rules.
These changes will make the use of .NET Core within Visual Studio more predictable.