[8.0.3xx] detect .NET 10 RID-specific tools and provide a more actionable error #50412
+15
−6
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.
8.0.3xx 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:
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:
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.