Disable TransitiveVersioningPinning for RoslynAnalyzers.
For RoslynAnalyzer which are intended to run on older builds of the compiler, we do not want to pin transitive package versions as that would break compatibility.
This PR introduces a Directory.Packages.props to the src/RoslynAnalyzers folder to disable transitive pinning. As a follow up we could remove the redundant M.CA.* package references from the RoslynAnalyzer projects as it is no longer necessary to include them to override their version.
Resolves #78702
For RoslynAnalyzer which are intended to run on older builds of the compiler,
I would love to discuss this. How far back do we truly intend on supporting things. I feel like it shoudl be fine, every now and then, to 'reset' the support point. Basically, we can always tell people:
- if you really need to support older systems, use these older nuget packages of RoslynAnalyzers.
- We then move forward, and say: from this point on, the furthest backward support point is now X.
Indefinite backward support is a high tax, and it makes us spend all this time contorting code. Given our resourcing, and an existing solution for users who need to move more slowly, maybe it is time to ditch this?
/azp run
Azure Pipelines successfully started running 3 pipeline(s).
Resolves #78702
It looks like you linked an area issue, did you mean to link https://github.com/dotnet/roslyn/issues/78695 instead?
Resolves #78702
It looks like you linked an area issue, did you mean to link #78695 instead?
Thanks! I have no idea how that happened. =)
I would love to discuss this. How far back do we truly intend on supporting things.
@CyrusNajmabadi I will bring you into the internal chat about this.
This change merged as part of https://github.com/dotnet/roslyn/pull/79030/files#diff-48fe7b4023cb6c25478d1b0b6dd3c66d51a37d1ee950582dd1c5bc4ca9caad59R9