web-dev-qa-db-ja.com

Nugetパッケージはありますが、参照がありません

TFSで分岐した後、VS2015 Update 2にはすべてのNugetパッケージへの参照がありません。パッケージの復元では、「packages.configにリストされているすべてのパッケージは既にインストールされています」と表示されます。

\ packagesフォルダー内のすべてのパッケージへの参照を手動で追加できましたが、VSが既にそこにチェックしていないのはなぜですか?

40
Shiloh

パッケージマネージャーコンソールでNuGetコマンドラインを使用する必要があります。

Update-Package -reinstall

パッケージ参照をプロジェクトに強制的に再インストールします。

NuGet Restoreはパッケージディレクトリ(\ packagesフォルダー)のファイルのみを復元しますが、プロジェクト内のファイルを復元したり、プロジェクトを変更したりすることはありません。たとえば、パッケージが参照DLLまたは他のファイルを追加した場合プロジェクトでこれらのファイルのいずれかを削除しても、このパッケージを復元するときにそれらは再追加されません。これにより、プロジェクトがビルド時に欠落している依存関係を見つけることができなくなる場合があります。

そのため、「Update-Package -reinstall」コマンドを使用して、パッケージ参照とコンテンツファイルをプロジェクトに強制的に再インストールします。

73
Leo Liu-MSFT

これは私のために働いた:

  • ソリューションからプロジェクトをアンロードします
  • Csprojファイルを編集し、csprojファイル(ItemGroup)からナゲットエントリを削除します。
  • プロジェクトのリロード
2
pabben

shivam( https://stackoverflow.com/a/46763556/103416 )によるVS2013で見つかったように、VS2017での私の解決策は、次からNugetキャッシュをクリアすることでした:オプション-> NugetPackageManager->すべてのNuGetキャッシュをクリア(s)

2
stefano