APICompat doesn't compare compatible frameworks when package drops a framework.
- Dominant language
- C#
- Stars
- 3.2k
- Forks
- 1.3k
- PR merge metrics
- PR metrics pending
Description
### Describe the bug
When comparing the latest package to a baseline package, there may not be a 1/1 framework match. APICompat should be determining all interesting frameworks and creating comparison tuples for those, but it's missing some for some reason.
Consider the comparison of Microsoft.Extensions.Configuration.Abstractions 1.1.0 to 2.0.0. Across these versions they went from netstandard1.0 to netstandard2.0.
APICompat should consider both netstandard1.0 and netstandard2.0 for tuples.
For netstandard1.0 - the new package doesn't support it - apicompat emits a PKV006 and skips that.
For netstandard2.0 - it should resolve the netstandard2.0 asset from the 2.0.0 package and the netstandard1.0 asset from the 1.1.0 package and compare them but it does not. As a result it does not report a compatibility problem.
(omitting other frameworks from this example, but hopefully this should illustrate the issue)
### To Reproduce
`apicompat package C:\scratch\extensionsCompat\packages\Microsoft.Extensions.Configuration.Abstractions\3.1.32\Microsoft.Extensions.Configuration.Abstractions.3.1.32.nupkg --baseline-package C:\scratch\extensionsCompat\packages\Microsoft.Extensions.Configuration.Abstractions\1.1.2\Microsoft.Extensions.Configuration.Abstractions.1.1.2.nupkg`
Expect -- an error about changing the return type on IConfigurationBuilder.Properties (and other errors)
Actual - only PKV006 errors
### Exceptions (if any)
### Further technical details
apicompat --version
10.0.203+c23858a6d860abe3ca94f9ac630c3e61b2625664
dotnet --version
11.0.100-preview.4.26208.110
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.