microsoft / vscode-dotnettools

This is a feedback repository to capture issues logged for the C# Dev Kit and related extensions from Visual Studio Code
Other
192 stars 6 forks source link

Policy: DevKit should not take a required dependency on `.200+` SDK features #1033

Open timheuer opened 1 month ago

timheuer commented 1 month ago

From vscode-csharp created by richlander: dotnet/vscode-csharp#7006

This came from a discussion of possible new features taking a dependency on feature-band SDK capabilities

Linux distros that offer .NET (as a general rule) only offer .1xx feature band SDK versions. We've put a lot of effort into making Linux distros successful with source build. Source build is .1xx only. We want people to be happy and satisfied with using the .NET that is available in RHEL, Ubuntu, and friends.

As a result, we need a policy that any DevKit features that rely on .2xx+ functionality fail gracefully when using a .1xx SDK.

jebriede commented 2 weeks ago

Is the ask to not depend on .NET SDK or to fail gracefully when the required version is not installed?

Currently, we fail gracefully if the required .NET SDK version is not installed on the user's machine, and we offer guidance on what version is required and how to install it.

timheuer commented 2 weeks ago

The impact here in having a strong dependency is that with the new changes to certain Linux distros, the acquisition ofr a .2xx SDK will not be intuitive, nor does the SDK acquisition pack handle these any more. So it will be a manual step to get that SDK, and has potential to impact the user's machine in other ways as we've seen.

The goal would be to prevent this. If "fail gracefully" means that nobody gets NuGet commands, that feels bad.

github-actions[bot] commented 2 weeks ago

@jebriede, the 'needs-more-info' label has been removed upon receiving further response from the original bug filer.

richlander commented 2 weeks ago

https://devblogs.microsoft.com/dotnet/whats-new-for-dotnet-in-ubuntu-2404/