NuGet Restoreはパッケージディレクトリ内のファイルのみを復元しますが、プロジェクト内のファイルを復元したりプロジェクトを変更したりすることはありません。
たとえば、パッケージがある場合は、参照DLLを追加するか、プロジェクトにいくつかのコンテンツファイルを追加します。これらの参照dllとコンテンツファイルをプロジェクトから削除した後は、このパッケージを復元するときには追加されません。これはあなたのプロジェクトがコンパイル時に見つからなかったパカクを見つけることができなくなる原因になります。
"Update-Package -reinstall"コマンドを使用して、パッケージ参照とコンテンツファイルをプロジェクトに強制的に再インストールする必要があります。
更新チームで共有プロジェクトの例:次の
は私の溶液構造で、CommDLLプロジェクトは、いくつかのNuGetパッケージをインストールし、ソリューション全体をソースコントロールによって管理されています。
私は別のユーザーアカウントを使用してCommDLLプロジェクトに別のNuGetパッケージをインストールするソース管理から別のマシン上でこのソリューションをダウンロードしてください。次に、新しいインストールされたパッケージからいくつかのコンテンツを使用し、プロジェクトを成功させます。 パッケージdllがプロジェクトに追加され、.csprojファイルに正しいHintPathが設定されていることを確認してください。
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
次に、この変更されたプロジェクトをソースコントロールにチェックインします。 .csprojファイルとpackages.configファイルがでチェックされていることを確認してください。
は今、私が変更されたコンテンツを取得するために別のマシン上で最新バージョンを取得します。ソース管理から最新のバージョンをチェックアウトした後、プロジェクトはコンパイルされていないため、パッケージ参照は警告と共に表示されます。つまり、パッケージは復元されません。してくださいこのプロジェクトを再構築し、それはR ESTOREパッケージプロジェクトの意志(あなたのVisual Studio 2015は有効持つことを確認してください「NuGetが不足しているパッケージのダウンロードを許可する」と「自動的のVisual Studioでビルド中に不足しているパッケージをチェックします "を作成してください)。
それが起こる次回は、「行方不明」の参照がポイントしているところを見てください。 .csprojファイルを開き、 を見てください。私はそこに何か正しいものがないという気持ちがあります。 –
Kiliman
私はそれが多くの要因に依存しているとしか言えません。一度それが例えば元に戻っていて、あなたがVSを閉じたなら、それは永遠に復元を破ることができます。簡単な回避策は、MicrosoftからNuGet.exeをダウンロードし、 'nuget restore yoursolution.sln'を実行して強制的に復元することです。 –
復元されたパッケージパスと参照先のパスが一致しているかどうかを確認しましたか? –