Allow using latest illink analyzer on netstandard projects #33158
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.
Before net8.0, the illink analyzer shipped as a separate package from ILLink.Tasks. #32045 added logic to reference the separate package for tfms less than net8.0.
This change tweaks the logic to be based on the package version resolved from KnownILLinkPack, rather than the tfm. This makes it possible to define KnownILLinkPack to pull in the latest analyzer, as a workaround when targeting unsupported TFMs. The scenario is still considered unsupported, but this at least makes it possible to work around.
A new testcase shows the steps necessary to use the latest illink analyzer on a netstandard2.x project.
@eerhardt this fix would make it possible to use the 8.0 KnownILLinkPack version that you changed to 7.0 in dotnet/aspnetcore#48619, in case you wanted to use the latest analyzer version.