複数のプロジェクトにPrism Nugetパッケージがインストールされたマルチプロジェクトソリューションがあります。次に、Nuget Package Manager UIを使用して、Prism Mef拡張パッケージをプロジェクトの1つに追加しようとしました(他のプロジェクトの1つに既に追加しています)。
初めてパッケージを追加しようとしたとき、依存関係の1つをインストールできませんでした。具体的なエラー理由はなく、「失敗」しました。そのため、2回目にインストールしましたが、すべて問題ないようで、エラーは報告されませんでしたが、いくつかの参照は解決しませんでした。
そのため、パッケージとすべての依存関係をアンインストールして、再度インストールしました。再びすべてがうまく見えたが、より多くの参照は解決しません。
パッケージのアンインストールとインストールを何度も試みましたが、毎回同じ結果が得られます。
私はこの問題を何度も経験しましたが、Prismパッケージに固有のものではないことは知っています。さまざまなパッケージがたくさんあるためです。
これはNugetの大きなバグだと思いますが、誰かがそれを修正する簡単な方法を知ってくれることを望んでいます。私は通常、Nugetコンソールでより良い成功を収めていると思いますが、使用するのにもっと努力が必要だと思います。
私はオンラインでいくつか検索しましたが、問題の原因や解決方法の良い説明が実際に見つかりませんでした。
仕事で働いている人は、これらの問題の多くを抱えているため、Nugetとの関係を完全に拒否していますが、私はそれを機能させることを決意しています!
Visual Studioを閉じて再度開き、参照が解決されました...!
パッケージマネージャーコンソール内で、次のコマンドを実行します。
Update-Package -reinstall
これにより、プロジェクト内の各ヌゲットパッケージが再インストールされ、不足している参照が解決されます。
特定の参照が欠落していることがわかっている場合:
Update-Package -reinstall <Package-Name>
パッケージの.NETバージョンとプロジェクトを確認することをお勧めします。
私のプロジェクトは.NET 4.6.1で、インストールしようとしたパッケージはバージョン4.6.2を使用していました。プロジェクトを同じ.NETバージョンに更新した後、参照が表示されました。
この手順に従う必要があります。
Visual Studio 2012で最近このエラーが発生しました。解決策は、nugetキャッシュから.nupkgファイルを削除することでした。 Nugetのキャッシュの場所は、nugetの設定>一般>参照から見つけることができます。
注:キャッシュをクリアしませんでした。特定のファイルをキャッシュディレクトリから削除し、nugetパッケージを再インストールしました。
すべての<assemblyBinding>
.configファイルからの参照。次に、Nuget Package Managerから次のコマンドを実行します。
Get-Project -All | Add-BindingRedirect