NuGet-fel NU1109

NU1109: Identifierade paketnedgradering: PackageB från 2.0.0 till centralt definierad 1.0.0. Uppdatera den centralt hanterade paketversionen till en högre version.
  "Project" –> "PackageA" 1.0.0 –> "PackageB" (>= 2.0.0)
  "Project" –> "PackageB" (>= 1.0.0)

Problematik

Ett projekt har konfigurerats för att använda NuGet Central Package Management och ett transitivt paketberoende fästs på en version som är lägre än vad som anges av beroendepaketet. När du löser paket respekterar NuGet regeln direct-dependency-wins och den fästa paketversionen åsidosätter den version som anges av beroendepaketet, vilket resulterar i en lägre version av paketet som löses, vilket kan leda till problem vid körning.

<PropertyGroup>
  <CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
</PropertyGroup>
<ItemGroup>
  <PackageVersion Include="PackageA" Version="1.0.0" />
  <PackageVersion Include="PackageB" Version="1.0.0" />
</ItemGroup>

Lösning

  • Uppdatera av PackageVersionPackageB till den högre versionen av paketet.
<ItemGroup>
  <PackageVersion Include="PackageB" Version="2.0.0" />
</ItemGroup>
  • Inaktivera transitiv fästning för central pakethantering så att den paketversion som anges av beroendepaketet kan användas.
<PropertyGroup>
  <CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
</PropertyGroup>