Condividi tramite


Errore NuGet NU1109

NU1109: downgrade del pacchetto rilevato: PackageB dalla versione 2.0.0 alla versione 1.0.0 definita centralmente. Aggiornare la versione del pacchetto gestita centralmente a una versione successiva.
  'Project' -> 'PackageA' 1.0.0 -> 'PackageB' (>= 2.0.0)
  'Project' -> 'PackageB' (>= 1.0.0)

Problema

Un progetto è configurato per l'uso di Gestione pacchetti centrali NuGet e una dipendenza transitiva del pacchetto viene aggiunta a una versione inferiore a quella specificata dal pacchetto di dipendenza. Quando si risolvono i pacchetti, NuGet rispetta la regola direct-dependency-wins e la versione del pacchetto aggiunto esegue l'override della versione specificata dal pacchetto di dipendenza, con conseguente risoluzione di una versione inferiore del pacchetto che potrebbe causare problemi in fase di esecuzione.

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

Soluzione

  • Aggiornare l'oggetto PackageVersion di PackageB alla versione successiva del pacchetto.
<ItemGroup>
  <PackageVersion Include="PackageB" Version="2.0.0" />
</ItemGroup>
  • Disabilitare l'aggiunta transitiva gestione pacchetti centrale per consentire l'uso della versione del pacchetto specificata dal pacchetto di dipendenza.
<PropertyGroup>
  <CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
</PropertyGroup>