同じNuGetパッケージを参照する複数のプロジェクトがあります。最新のコードを入手したとき、プロジェクトの1つにpackage.configが更新されており、そのパッケージによって提供されるDllへの参照も更新されていることがわかりました。
また、他のプロジェクトのpackage.configも更新し、NuGetエンジンをアップグレードするとすぐにそれが表示され、新しいDLLが取得されることを期待しています。まあ、それは起こりませんでした。その後、私は次のことを試しましたが、どれも機能しませんでした:
また、面白いことに、Nugetパッケージの管理に移動して新しいDLLが必要なパッケージを見ると、既に新しいバージョンであり、アップグレードする必要がないことがわかります。
NuGetエンジンを使用してこれらのパッケージをアップグレードする方法はありますか?
Packages.configファイルを編集するだけでは、Visual Studioがプロジェクトに変更を加えることはありません。また、NuGet復元はプロジェクトを変更しません。 NuGet restoreは、NuGetパッケージをダウンロードして、プロジェクトで使用できるようにします。
Packages.configファイルを編集する代わりに、Visual StudioのNuGetパッケージマネージャーまたはパッケージ管理コンソールを使用して、必要なプロジェクトのNuGetパッケージを更新します。
その他の代替方法には、プロジェクトファイル(.csproj)を更新して、更新された正しいアセンブリ参照を使用することが含まれます。または、Update-Package -reinstall
強制的にNuGetパッケージをアンインストールして、プロジェクトに再度インストールします。これにより、アセンブリ参照が修正されます。
Visual Studio 2017でソリューションを開くことができる場合、最新のPackageReferenceを使用してnugetを管理することをお勧めします。 Packages.configにはいくつかの欠点があり、PackageReferenceはこれらの問題を解決します。
PackageReferenceに移行するソリューションは次のとおりです。 https://github.com/NuGet/Home/wiki/Packages.config-to-PackageReference-Migrator
また、これと拡張機能を使用できます: https://marketplace.visualstudio.com/items?itemName=TaylorSouthwickMSFT.NuGetPackagetoProjectjsonConverter