VS2012内からプロジェクトをビルドすると、次のエラーメッセージが表示されます
This project references NuGet package(s) that are missing on this computer.
Enable NuGet Package Restore to download them.
不足しているパッケージをダウンロードするNuGetのnugetオプションがあります。
それでも、まだエラーが発生します。ナゲット2.7がインストールされています。 VS2012アップデート3
Danがほのめかしたように、ソリューションに.nugetフォルダーがある場合(パッケージの復元を有効にすると)、 http://docs.nuget.org/docsに従って、nuget 2.7の自動パッケージ復元機能が無効になります/ workflows/migrating-to-automatic-package-restore 。
パッケージの自動復元が無効になっている場合、プロジェクトターゲットファイルをインストールするパッケージは、ソリューションでそのパッケージを手動で復元するまでビルドを失敗させます。これについては、 http://blogs.msdn.com/b /dotnet/archive/2013/06/12/nuget-package-restore-issues.aspx 。 (リンクに記載されている回避策は、nuget 2.7の自動パッケージ復元が利用可能になったため、時代遅れになっていることに注意してください。)
したがって、これらの両方が当てはまる場合は、.nugetフォルダー内のNuGet.targetsファイルを削除すると、NugetはMSBuildを呼び出す前に不足しているパッケージを復元します。 .nugetフォルダー内のnuget.exeも使用できなくなるため、削除することもできます。
以下の手順に従ってください:
手順1:ソリューションを右クリックしてNuget Package Restoreを有効にしてください[下のスクリーンショットを参照]
手順2:[手順1に従って問題/エラーが解決されない場合はこれを実行]それでも問題が発生する場合は、メモ帳で.csprojファイルを開き、次のようなパッケージパスを確認してください
したがって、ソリューションのディレクトリ構造は次のようになります。
\SolutionDirectory\
パッケージディレクトリ:
\SolutionDirectory\packages
プロジェクトディレクトリ:
\SolutionDirectory\ProjectName\ProjectName.csproj
[エラーが発生している]この.csprojをメモ帳で開き、パッケージパスを検索して、関連するパスに更新してください。
例えば.csprojファイルが含まれています。csprojファイルに..\..\packages
が含まれている場合、..\packages
でそのパスを更新します
答えは私が解決策を見つけるのに非常に役立ちます。特定の問題の解決にはもう1つの手順が必要なので、他の人に役立つ場合はここで報告します。私が得ていたエラー:
Error 117 This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is ..\..\Windows Phone 8\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets.
私は答えに従い、提案されたものをすべて削除しましたが、エラーが表示され続けました。 .csprojの次の行を削除することで、ついにそれを取り除きました。
<Error Condition="!Exists(...
メモ帳でcsproj
ファイルを開き、Error Condition
ここからの要素(またはこれらの条件を機能させる):
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.101.0\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.101.0\build\net45\System.Data.SQLite.Core.targets'))" />
</Target>
これを試して、
ソリューションを右クリックし、「NuGetパッケージの復元を有効にする」だけで問題が解決します。
ソリューションから.nugetディレクトリが存在する場合は削除します。プロジェクトファイルを編集し、.nugetフォルダーへの参照を含む要素ImportおよびTargetを削除し、プロジェクトを保存して再読み込みします。