Closed KalleOlaviNiemitalo closed 2 months ago
@jkotas, I filed this because I maintain some code that implements the interface and will be broken by the change. Can you verify that the feature area is correct?
Looks good to me. Thank you!
I tried to send email as instructed here
but my email was rejected.
@jkotas @adamsitnik I don't see this Microsoft.ILVerification package being indexed for the .NET API documentation. Should it be?
Microsoft.ILVerification is a package for specific very advanced users. We have number of packages like that. https://www.nuget.org/packages/Microsoft.Diagnostics.Runtime. is another package in this category.
APIs in these packages do not go through API reviews, they are not documented on https://learn.microsoft.com/, and we are more flexible with breaking changes in these packages compared to core .NET APIs. I think it is the right place to be. We want to keep these packages very low-cost.
If you think that it does not make sense to publish breaking changes in these packages as part of .NET release notes, I would be fine with that. We can find an alternative.
@PriyaPurkayastha What do you think👆?
If this breaking change is not added to .NET release notes, I hope it will be in the package release notes instead. Currently, those only link to https://go.microsoft.com/fwlink/?LinkID=799421, which redirects to https://github.com/dotnet/core/tree/main/release-notes.
Since these are undocumented APIs, it doesn't make sense to document a breaking change to a parameter type. I've assigned the issue to Jan in case you want to add it to the package release notes.
I hope it will be in the package release notes instead
We can do that: https://github.com/dotnet/runtime/pull/106193
Description
In the ILVerify.IResolver interface defined in the Microsoft.ILVerification package, the type of the first parameter of each method is now System.Reflection.Metadata.AssemblyNameInfo rather than System.Reflection.AssemblyName.
Version
.NET 9 Preview 5
Previous behavior
The type of the first parameter was System.Reflection.AssemblyName:
New behavior
The type of the first parameter is System.Reflection.Metadata.AssemblyNameInfo:
Type of breaking change
Reason for change
“Avoids dependency on AssemblyName.Culture and globalization (ICU)” (https://github.com/dotnet/runtime/pull/102036)
Recommended action
If your application references the Microsoft.ILVerification package and defines a type that implements the ILVerify.IResolver interface, change the implementation to take AssemblyNameInfo parameters.
Feature area
SDK
Affected APIs
These methods are not overloaded.
Associated WorkItem - 292110