[VMR] CheckForImplicitPackageReferenceOverrides
eliminates all runtime packs in the event of duplicates in aspnetcore
#3150
Labels
area-build
Improvements in source-build's own build process
aspnetcore
specifies dependencies on every known/published runtime pack & crossgen, and also a dependency on the runtime pack specified by$(TargetRuntimeIdentifier)
. For example, that means a dependency exists for bothMicrosoft.NETCore.App.Runtime.linux-x64
andMicrosoft.NETCore.App.Runtime.ubuntu.22.04-x64
when building on Ubuntu. The former dependency is found in the source-build prebuilts, with a 7.0ish version number, and the latter is found from theruntime
build with an 8.0ish version number. These are deduplicated, and only theruntime
build version is used.https://github.com/dotnet/aspnetcore/blob/600eb9aa53c052ec7327e2399744215dbe493a89/eng/Dependencies.props#L97-L110
However, when building a build where
runtime
is emitting runtime packs with the same filename as the prebuilts, and aspnetcore is also targeting the same RID, then the runtime pack dependencies are duplicated entirely, and the prebuilt versions are ignored entirely. TheCheckForImplicitPackageReferenceOverrides
task seems to not only deduplicate the entries, but eliminate them both. Subsequently, the build fails whencrossgen2
is not found (because no crossgen package has been restored)The text was updated successfully, but these errors were encountered: