Add suppression for IL3050 when serializing objects for structured logging. #1795
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With structured logging the "@" directive can be used to indicate the POCO used for a logging parameter should be json serialized. With structured logging in Native AOT we do a best attempt to serialize. If the serialization fails then fallback to the regular
ToString
method. Previously the code had a suppression forIL2026
calling out the serialization was a best attempt. For some reason when actually publishing for NativeAOT it also triggers theIL3050
warning that doesn't show up in the normal build despiteEnableTrimAnalyzer
being enabled.This PR adds the suppression for
IL3050
as well as add a new unit tests that compiles a function with NativeAOT enabled. If any AOT trim warnings are produced during the publish the test fails.