Delen via


NuGet-fout NU1109

NU1109: Pakket downgrade gedetecteerd: PackageB van 2.0.0 naar centraal gedefinieerd 1.0.0. Werk de centraal beheerde pakketversie bij naar een hogere versie.
  'Project' -> 'PackageA' 1.0.0 -> 'PackageB' (>= 2.0.0)
  'Project' -> 'PackageB' (>= 1.0.0)

Probleem

Een project is geconfigureerd voor het gebruik van NuGet Central Package Management en een transitieve pakketafhankelijkheid wordt vastgemaakt aan een versie lager dan is opgegeven door het afhankelijkheidspakket. Bij het oplossen van pakketten respecteert NuGet de regel voor direct-dependency-wins en overschrijft de vastgemaakte pakketversie de versie die is opgegeven door het afhankelijkheidspakket, wat resulteert in een lagere versie van het pakket die kan leiden tot problemen tijdens runtime.

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

Oplossing

  • Werk de versie van PackageB het PackageVersion pakket bij naar de hogere versie van het pakket.
<ItemGroup>
  <PackageVersion Include="PackageB" Version="2.0.0" />
</ItemGroup>
  • Schakel transitieve pinning van Central Package Management uit om toe te staan dat de pakketversie die is opgegeven door het afhankelijkheidspakket kan worden gebruikt.
<PropertyGroup>
  <CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
</PropertyGroup>