Skip to content

[9.0.1xx] detect .NET 10 RID-specific tools and provide a more actionable error #50415

New issue

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

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

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: release/9.0.1xx
Choose a base branch
from

Conversation

baronfel
Copy link
Member

9.0.1xx port of #50399

Customer Impact

The current error when installing .NET 10's RID-specific packages is not as helpful as we expected on lower-then-10 SDKs:

>dotnet tool install -g perla --prerelease --interactive
Tool 'dotnet-codetesting' failed to update due to the following:
The settings file in the tool's NuGet package is invalid: Command 'dotnet-codetesting' uses unsupported runner ''.
Tool 'dotnet-codetesting' failed to install. Contact the tool author for assistance.

This message doesn't direct the user towards a resolution to the problem, and we've had reports for internal and external users that they are lost trying to respond to this. This definitely wasn't our intent - we thought that our existing version-based error message, which is more actionable, would activate on those SDKs.

We already have some detection of the version mis-match that's latent here, but didn't surface it to the user. This minimal change makes the error experience slightly more directed:

> dotnet tool install -g perla --prerelease --interactive
The settings file in the tool's NuGet package is invalid: Format version is higher than supported. This tool may not be supported in this SDK version. Update your SDK.
Tool 'perla' failed to install. Contact the tool author for assistance.

This isn't an ideal experience, but is a change scoped small enough to not be too risky to take in servicing across the 8.0.1xx and onwards releases.

Regression

No-ish? The UX for installing unsupported tools in general has always been not-great, but this is uniquely not-great.

Testing

Manual testing as shown above. We don't have ready-to-go RID-specific tools to test against on the 8.x SDK branches.

Risk

Low - this fallback only occurs after several other kinds of validation have already taken place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants