Compartir a través de


NuGet Error NU1109

NU1109: degradación del paquete detectado: PackageB de 2.0.0 a 1.0.0 definido centralmente. Actualice la versión del paquete administrado centralmente a una versión superior.
  'Project' -> 'PackageA' 1.0.0 -> 'PackageB' (>= 2.0.0)
  'Project' -> 'PackageB' (>= 1.0.0)

Cuestión

Un proyecto está configurado para usar la administración de paquetes centrales de NuGet y una dependencia de paquete transitiva se ancla a una versión inferior a la especificada por el paquete de dependencias. Al resolver paquetes, NuGet respeta la regla direct-dependency-wins y la versión del paquete anclado invalida la versión especificada por el paquete de dependencia, lo que da como resultado una versión inferior del paquete que se está resolviendo, lo que podría dar lugar a problemas en tiempo de ejecución.

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

Solución

  • Actualice el PackageVersion de PackageB a la versión superior del paquete.
<ItemGroup>
  <PackageVersion Include="PackageB" Version="2.0.0" />
</ItemGroup>
  • Deshabilite el anclaje transitivo de administración de paquetes central para permitir que se use la versión del paquete especificada por el paquete de dependencia.
<PropertyGroup>
  <CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
</PropertyGroup>