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] Suppress IL3000 in MsQuicApi constructor #109965

Open
wants to merge 1 commit into
base: release/8.0-staging
Choose a base branch
from

Conversation

rzikm
Copy link
Member

@rzikm rzikm commented Nov 19, 2024

A call to Assembly.Location was added in a recent fix. It has IL30000 suppressed via #pragma warning disable, but that only applies to the compilation of the library itself. Consumers will hit it when doing something like publishing their app as NativeAOT.

This change adds an [UnconditionalSuppressMessage] to the MsQuicApi static constructor such that IL30000 should also be suppressed for apps consuming the runtime.

Customer Impact

Customers are seeing a warning when NativeAoT compiling applications relying on HttpClient. Many customers also use option to treat warning as errors and thus are unable to build their applications without suppressing the warning.

Available workarounds are either

  • revert to previous release
  • suppress the warning (and remember to unsuppress it once fix is released)
  • update to .NET 9.0 (may not be possible, some customers need to stay on LTS release versions)

Regression

  • Yes
  • No

Regression against previous release. The same issue has discovered for 9.0 GA release and fixed before final build was created. However, the fix was not backported to 8.0.

Testing

The same change is present as part of 9.0 builds where the regression does not reproduce.

Risk

Low, no functional change, the issue pointed to by the warning is already correctly handled at runtime.

A call to `Assembly.Location` was added in a recent fix. It has `IL30000` suppressed via `#pragma warning disable`, but that only applies to the compilation of the library itself. Consumers will hit it when doing something like publishing their app as NativeAOT.

This change adds an `[UnconditionalSuppressMessage]` to the `MsQuicApi` static constructor such that `IL30000` should also be suppressed for apps consuming the runtime.

This was caught in an aspnetcore deps flow PR coming from runtime.
Copy link
Contributor

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

@rzikm rzikm marked this pull request as ready for review November 21, 2024 14:11
@rzikm rzikm requested a review from a team November 21, 2024 14:12
@rzikm rzikm added the Servicing-consider Issue for next servicing release review label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Net.Quic Servicing-consider Issue for next servicing release review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants