-
Notifications
You must be signed in to change notification settings - Fork 89
Add StringTools to do-not-deploy list #354
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
Add StringTools to do-not-deploy list #354
Conversation
An internal tool recently had trouble updating to .NET 10 because it deployed a stale local copy of `Microsoft.NET.StringTools.dll` that was working (by coincidence) throughout .NET 9 but failed after dotnet/msbuild#12100 added some API surface to StringTools and used it.
| '%(PackageReference.Identity)' == 'Microsoft.Build.Engine' | ||
| '%(PackageReference.Identity)' == 'Microsoft.Build.Engine' or | ||
| '%(PackageReference.Identity)' == 'Microsoft.NET.StringTools' or | ||
| '%(PackageReference.Identity)' == 'NuGet.Frameworks' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious: any way that you could think of to write a test that captures the list of "do not deploy DLLs"? Struggled with this in Roslyn a few times. Eventually we found a few tests we could write where we maintained a string[] in the test of dependencies, when the test failed there was a comment of "if you update this list, go update this other file". It was far far from perfect but was an easy spot check for us.
Not sure if that is easy / not here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't think of a particularly good way, unfortunately. This list is definitely not complete, but I'm not 100% sure how complete it can be without causing problems for users. Like, can we put System.Collections.Immutable on here? Ideally we would!
An internal tool recently had trouble updating to .NET 10 because
it deployed a stale local copy of
Microsoft.NET.StringTools.dllthatwas working (by coincidence) throughout .NET 9 but failed after
dotnet/msbuild#12100 added some API surface to StringTools and used it.
Partial fix for #353.