web-dev-qa-db-ja.com

Visual Studio 2013でNuGetパッケージの復元を有効にする

この簡単なチュートリアル に従って、C#でGoogle+ APIを使用してコーディングを開始します。ただし、最初のサブステップは次のとおりです。

  1. Visual Studioで、[プロジェクト]> [NuGetパッケージの復元を有効にする]>ダイアログで[はい]をクリックします。
  2. Gplus-quickstart-csharpプロジェクトを右クリックして、[NuGetパッケージの管理]を選択します。
  3. [NuGetパッケージの管理]ウィンドウで[復元]をクリックします。これにより、Google APIクライアントライブラリがインストールされます。

[Projet]をクリックすると、[NuGetパッケージの復元を有効にする]オプションがありません。

そこにはisNuget Packagesの管理オプションがありますが、復元ボタンやオプションは一切ありません。

プロジェクトはビルドされず、エラーが発生します:

エラー1このプロジェクトは、このコンピューターにないNuGetパッケージを参照しています。 NuGet Package Restoreを有効にしてダウンロードします。詳細については、 http://go.Microsoft.com/fwlink/?LinkID=322105 を参照してください。不足しているファイルはC:\ Users\Documents\google +\gplus-quickstart-csharp\.nuget\NuGet.targetsです。 C:\ Users\Documents\google +\gplus-quickstart-csharp\gplus-quickstart-csharp\gplus-quickstart-csharp.csproj 201 5 gplus-quickstart-csharp

MicrosoftのWebサイトにアクセスしましたが、NuGetのドキュメントにリダイレクトされるだけで、動作するものが見つかりませんでした。次のコマンドを試してみました(例で説明):

  • D:\ projects\contoso> nuget.exeの復元
  • D:\ projects\contoso> nuget.exe restore contoso.sln
  • D:\ projects> nuget.exe restore contoso

しかし、無駄に。はい、NuGetがインストールされています。何か案は?ありがとう!

35
user3180077

メニュー項目を見つけるには、「nugetパッケージの復元を有効にする」ソリューションエクスプローラーで、プロジェクトではなくsolutionを右クリックします。

メッセージが表示されます:

ビルド中に不足しているNuGetパッケージをダウンロードして復元するようにこのソリューションを構成しますか?

それはあなたが探していたものではありませんでしたか?

52

プロジェクトベースのnugetパッケージの復元は使用したくないでしょう。

最新のバージョンのNugetがあることを確認してください([ツール]-> [拡張機能と更新プログラム])

プロジェクトをビルドするときに、nugetパッケージをダウンロードする必要があることを通知する必要があります(または単に自動ダウンロードする場合があります)。

Downvotesで不明な点を編集します。

http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

NuGetチームが現在推奨しているのは、よりクリーンでシンプルな方法です。 要するに、あなたは特別なことは何もしません、そしてそれはただ起こります!これはNuGetがVSでビルドする前に常にパッケージを復元するからです。したがって、ファイルを変更する必要はまったくありません。これはすばらしいことです。

人々はまだ多くの情報を含めるために編集の問題を抱えているので:

https://docs.nuget.org/consume/package-restore#common-issues-with-automatic-package-restore

27
John

.nu​​getフォルダーの名前を変更してから、ソリューションを右クリックします。次に、Nugetパッケージの復元を有効にします。

12
ceebreenk

「不足しているパッケージのダウンロードをNugetに許可する」を有効にする場所を知りたいだけだと思います

VS2013の場合:プロジェクトを右クリックして[ソリューションのNuGetパッケージの管理]を選択し、新しいダイアログの[設定]をクリックします。[NuGetパッケージマネージャーの管理]ルートレベルをクリックします。

6
Ronald

私はこの問題を抱えていて、あなたのために働くかもしれないし、働かないかもしれない修正を見つけました。 csprojファイルは、間違ったパッケージフォルダーまたは存在しないパッケージフォルダーを指しているため、編集する必要がありました。

Csprojファイルで参照パスを探し、パッケージフォルダーのパスが正しいことを確認します。

<HintPath>..\packages\path\to\file.dll</HintPath>

たぶん、通常とは異なるフォルダ設定のため、..\..\packagesである必要があります。また、上部に向かって、NuGetは次の行を追加します。

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

HintPathを編集する必要がある場合は、おそらくこれも編集する必要があります。私の例では、値を..\..\に変更します。最後に、NuGetはEnsureNuGetPackageBuildImportsという名前のターゲットを追加します。 ..\packagesパスを含む属性がいくつか表示されます。再び私の例を使用して、これを..\..\packagesに変更する必要があります。これらすべての値のベースは、もちろんcsprojファイルを含むフォルダーです。

フォルダパスがデフォルト以外の方法で設定されることは珍しいかもしれませんが、私の場合はそうであり、この情報は私にとって有用でした。

4
user2023861

プロジェクトを右クリックし、「Nugetパッケージの復元を有効にする」オプションが表示されない場合、このオプションを確認しない理由は、Visual Studioに最新バージョンのNugetパッケージがインストールされていないためです。

次の手順は、使用しているVisual Studioのバージョンに適切なnugetパッケージをインストールする方法を示します。 [ツール]-> [拡張機能と更新]をクリックします。拡張機能と更新ダイアログが表示されます。ダイアログの左側の列でオンラインをクリックします。リストの最初のパッケージに「Nuget Package Manager for Visual Studio 2013」が表示されます。「ダウンロード」ボタンをクリックしてインストールします。その後、Visual Studioを再起動する必要があります。

ソリューションを再度開き、ソリューション名を右クリックします。このソリューションのパッケージを復元するかどうかを確認するダイアログポップアップが表示されます。 「はい」を選択すると、ソリューションをビルドするたびに、nugetはダウンロードを試行し、ソリューションが使用している対応するパッケージをダウンロードしようとします。

1
Frank Saraceno

私の状況では、新しいソリューションを作成したばかりで、ソリューションファイルはまだ保存されていませんでした。 「Nuget Package Restoreを有効にする」前に、ソリューションが保存されていることを確認してください

0
nwestfall