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/8.0-staging] Special casing System.Guid for COM VARIANT marshalling #100734

Conversation

AaronRobinsonMSFT
Copy link
Member

@AaronRobinsonMSFT AaronRobinsonMSFT commented Apr 7, 2024

Backport of #100377 to release/8.0-staging

Customer Impact

  • Customer reported
  • Found internally
  • Support System.Guid marshalling via VARIANT

VARIANT marshalling in .NET 5+ requires a TLB
for COM records (i.e., ValueType instances). This
means that without a runtime provided TLB, users
must define their own TLB for runtime types or
define their own transfer types.

We address this here by deferring to the NetFX
mscorlib's TLB.

Regression

  • Yes
  • No

This support has never been in .NET Core 3.1/.NET 5+. This is helping porting efforts from .NET Framework to .NET 5+.

Risk

Low, this is enabling a narrow feature that was present in .NET Framework.

* Support System.Guid marshalling via VARIANT

VARIANT marshalling in .NET 5+ requires a TLB
for COM records (i.e., ValueType instances). This
means that without a runtime provided TLB, users
must define their own TLB for runtime types or
define their own transfer types.

We address this here by deferring to the NetFX
mscorlib's TLB.

Co-authored-by: Elinor Fung <elfung@microsoft.com>
@jeffschwMSFT jeffschwMSFT removed the Servicing-consider Issue for next servicing release review label Apr 9, 2024
@jkotas
Copy link
Member

jkotas commented Apr 10, 2024

This change should be treated as a backport of a new feature. As a rule, we do not backport new features, backporting features requires an exception.

If the exception is granted for this backport, we should consider placing the backported feature under a switch that is not enabled by default.

@dotnet-policy-service dotnet-policy-service bot removed this from the 8.0.x milestone May 10, 2024
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@github-actions github-actions bot locked and limited conversation to collaborators Jun 10, 2024
@AaronRobinsonMSFT AaronRobinsonMSFT deleted the port_100377 branch June 11, 2024 18:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants