Repository navigation
[release/10.0.1xx] Restore generated assets in Microsoft.CodeAnalysis.NetAnalyzers packages - #56310
Merged
tannergooding merged 6 commits intoSep 22, 2026
Conversation
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1b62fb4f-3669-466b-bbcf-d0384626535c
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1b62fb4f-3669-466b-bbcf-d0384626535c
|
Azure Pipelines: Successfully started running 1 pipeline(s). 2 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Merged
2 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Backport of #55899 to release/10.0.1xx
Collect generated rulesets, editorconfigs, global analyzer configs, and MSBuild integration files after generation and before NuGet gathers package files.
.NET 10 servicing approval is pending; the separate RC2 approval does not cover this backport.
Customer Impact
Published analyzer NuGet packages omit generated configuration and
buildTransitiveassets during clean one-pass packing. Direct-package consumers can silently lose expected diagnostics because analyzers do not receive required configuration/MSBuild properties, including inputs used by CA1416. Missing assets were confirmed in sampled .NET 10 packages, including 10.0.112 and 10.0.401. SDK-inbox integration copies these assets separately.Reported in #54046 and #53125.
Regression
The generated assets are present in inspected earlier packages, including 9.0.0, but absent from sampled .NET 10 packages. Generated-file globs were evaluated before their outputs existed.
Testing
The exact main-merge patch was applied to an isolated index based on release/10.0.1xx (
8fcdf05e3df59cb315e35e9a2ac53126d31d7ce4), without conflicts or whitespace errors. The backport workflow completed successfully.No new regression tests are included in the source change. Release-branch CI, clean one-pass package-content inspection, and consumer validation remain pending. Validation should cover the expected
rulesets,editorconfig, andbuildTransitiveassets, direct-package CA1416 analysis with inbox analyzers disabled, and the normal SDK-inbox path. Patch application is not a package-build or consumer-test result.Risk
The change is limited to package asset collection timing in one project file; analyzer algorithms and default severities are unchanged. Restoring missing integration can surface previously missing diagnostics for package consumers, including build failures when warnings are elevated to errors. This compatibility impact requires separate .NET 10 servicing consideration and clean-package/consumer validation.
Note
This PR description was drafted with GitHub Copilot.