Skip to content
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

[release/7.0] Add more type-forwarders for Xamarin.Android compatibility to mscorlib.dll and System.Drawing.Common.dll #83137

Merged
merged 6 commits into from
Mar 9, 2023

Conversation

akoeplinger
Copy link
Member

@akoeplinger akoeplinger commented Mar 8, 2023

Backport of #82618 and #82839 to release/7.0

Customer Impact

The legacy Xamarin.Android versions of mscorlib.dll and System.Drawing.Common.dll differed a bit compared to the .NET Framework versions, mostly because of additions for .NET Standard 2.1 support.

This meant that an assembly which was compiled against those assemblies (e.g. from a nuget package which targets monoandroid TFM) expects types there but since we didn't have type-forwarders in our mscorlib.dll/System.Drawing.Common.dll shims to point them to the right assembly you'd get a TypeLoadException when running on modern .NET 7 Android.

Fixes #82193 and #82829
Also fixes these MAUI issues: dotnet/maui#5142, dotnet/maui#5078, dotnet/maui#3903

Testing

Manual testing with nuget packages from the customer.

Risk

Low, we're only adding a few additional type-forwarders.

…b.dll (dotnet#82618)

The legacy Xamarin.Android version of mscorlib.dll differed a bit compared to the .NET Framework mscorlib.dll, mostly because of additions for .NET Standard 2.1 support.

This meant that an assembly which was compiled against that mscorlib expects types there but since we didn't have type-forwarders in our mscorlib.dll shim to point them to the right assembly you'd get a TypeLoadException when running on modern .NET 6 Android.

Fixes dotnet#82193

(cherry picked from commit d8203e7)
…ng.Common.dll (dotnet#82839)

The legacy Xamarin.Android version of System.Drawing.Common.dll contained these types, add forwarders so we don't get a TypeLoadException when using an assembly compiled against that in modern .NET Android.

Fixes dotnet#82829

(cherry picked from commit e486f38)
@akoeplinger akoeplinger added Servicing-consider Issue for next servicing release review area-Infrastructure-libraries labels Mar 8, 2023
@akoeplinger akoeplinger added this to the 7.0.x milestone Mar 8, 2023
@ghost ghost assigned akoeplinger Mar 8, 2023
@ghost
Copy link

ghost commented Mar 8, 2023

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #82618 and #82839 to release/7.0

Customer Impact

The legacy Xamarin.Android versions of mscorlib.dll and System.Drawing.Common.dll differed a bit compared to the .NET Framework versions, mostly because of additions for .NET Standard 2.1 support.

This meant that an assembly which was compiled against those assemblies (e.g. from a nuget package which targets monoandroid TFM) expects types there but since we didn't have type-forwarders in our mscorlib.dll/System.Drawing.Common.dll shims to point them to the right assembly you'd get a TypeLoadException when running on modern .NET 7 Android.

Fixes #82193 and #82829
Also fixes these MAUI issues: dotnet/maui#5142, dotnet/maui#5078, dotnet/maui#3903

Testing

Manual testing with nuget packages from the customer.

Risk

Low, we're only adding a few additional type-forwarders.

Author: akoeplinger
Assignees: -
Labels:

Servicing-consider, area-Infrastructure-libraries

Milestone: 7.0.x

@carlossanlop
Copy link
Member

@akoeplinger I noticed you added the servicing-consider label, even though it's marked as an infra issue. If it was intended to consider this ask-mode, can you please send the Tactics email requesting their approval?

@akoeplinger
Copy link
Member Author

@carlossanlop I just picked this label because it seemed the most fitting, I'll follow up on the tactics approval.

@rbhanda rbhanda modified the milestones: 7.0.x, 7.0.5 Mar 9, 2023
@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Mar 9, 2023
@carlossanlop
Copy link
Member

No OOB changes needed for System.Drawing.Common.
Approved by Tactics, signed off, CI green.
Ready to merge. :shipit:

@carlossanlop carlossanlop merged commit 6eaaf26 into dotnet:release/7.0 Mar 9, 2023
@akoeplinger akoeplinger deleted the typeforwarders-7.0 branch March 9, 2023 21:22
@ghost ghost locked as resolved and limited conversation to collaborators Apr 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants