Install natively using dotnet-install scripts #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Having an installation for each .NET SDK version causes all sorts of issues, as the whole ecosystem expects all SDKs and runtimes to share the same installation directory.
In practice this is currently causing issues because DOTNET_ROOT cannot be set to anything meaningful on a system-level. Other tooling like IntelliJ Rider can thus not find the correct SDK to use. You'd have to somehow set DOTNET_ROOT per project, and even then that project can only be aware of a single SDK version at a time.
So I've decided to rely on proto's
native_install
feature instead, which opens another can of worms, but a more manageable one at least. It relies on the official dotnet-install scripts to install SDKs into whatever DOTNET_ROOT is set to (or ~/.dotnet per default). Supporting uninstallation will come later, as it will be a bit tricky, now that everything lives in the same directory.The dotnet executable will no longer be shimmed nor symlinked, and the user is expected to add DOTNET_ROOT to their PATH.