次の方法で共有


NuGet エラー NU1109

NU1109: パッケージのダウングレードが検出されました:PackageB が 2.0.0 から一元的に定義された 1.0.0 に変更されました。 中央管理パッケージのバージョンを上位のバージョンに更新します。
  'Project' -> 'PackageA' 1.0.0 -> 'PackageB' (>= 2.0.0)
  'Project' -> 'PackageB' (>= 1.0.0)

問題点

NuGet Central Package Management を使用するようにプロジェクトが構成され、推移的なパッケージの依存関係が依存関係パッケージで指定されているバージョンよりも低いバージョンに固定されます。 パッケージを解決する場合、NuGet は 直接依存関係優先 ルールを尊重し、ピン留めされたパッケージバージョンは依存関係パッケージで指定されたバージョンをオーバーライドするため、パッケージの下位バージョンが解決され、実行時に問題が発生する可能性があります。

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

解決策

  • PackageBPackageVersionを、パッケージの上位バージョンに更新します。
<ItemGroup>
  <PackageVersion Include="PackageB" Version="2.0.0" />
</ItemGroup>
  • 中央パッケージ管理推移的ピン留めを無効にして、依存関係パッケージで指定されたパッケージ バージョンを使用できるようにします。
<PropertyGroup>
  <CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
</PropertyGroup>