web-dev-qa-db-ja.com

Visual Studio 2015でNugetパッケージの復元を有効にする方法

Visual Studio 2015でNugetパッケージの復元機能を有効にするにはどうすればよいですか?

この機能はコンテキストメニューにありません(はい-プロジェクトではなくソリューションで試すことを再確認しました)

私の唯一のプロジェクトは、.NET 4.5コンソールアプリケーションです。nugetフォルダーはまだありません。実際のnugetパッケージがインストールされています。

50
boop

私はあなたと同じ問題を抱えていましたが、解決方法は、ソリューションからpackagesフォルダーを削除し、ソリューション内のすべてのプロジェクトからbinフォルダーとobjフォルダーを削除して、再構築します。

55
Martin Shishkov

結局のところ、本当の解決策は 自動パッケージ復元に移行する です。 2013年にしばらく作業した後、VS 2015にアップグレードした後、NuGetで問題が発生しました。 NuGetの従来の方法が、新しい方法の完全なホースになります。

解決策は単純ですが、退屈ですが。どうやら、NuGet.targetsファイルは、VSに古いNuGetの方法を使用するように信号を送ります。これは、「自動パッケージ復元」を使用していることを意味します。次の手順に従って、自動パッケージ復元に移行できます。

  1. .nu​​get/NuGet.exeを削除します
  2. .nu​​get/NuGet.targetsを削除します
  3. 各プロジェクト:
    1. プロジェクトをアンロードします
    2. 右クリック->プロジェクトの編集
    3. NuGet.targetsファイルへのすべての参照、つまり次を削除します。
<RestorePackages>true</RestorePackages>  
...
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />  
...
<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'))" />
</Target>

また、大胆な気分であれば、移行を実行するPowerShellスクリプトもあります。 github で見つけることができます。

37
BinaryTox1n

その他の場合、このオプションはVisual StudioオプションのNuget設定セクションで利用できます

enter image description here

5
Eric Herlitz

Visual Studio 2015 Professionalはデフォルト設定を使用してインストールされました。 「NuGetが不足しているパッケージをダウンロードすることを許可する」および「Visual Studioでビルド中に不足しているパッケージを自動的に確認する」オプションはデフォルトですでにチェックされていますが、パッケージをダウンロードできませんでした。パッケージバージョンが見つからないというエラーが表示されました。

[ツール]> [オプション]> [NuGetパッケージマネージャー]> [パッケージソース]の下にあるチェックボックスをクリックして、NuGetパッケージの復元を期待どおりに動作させる必要がありました。

enter image description here

2
laylarenee

エラー401不正でパッケージを復元する際に問題が発生しました。使用可能なローカルパッケージソースのチェックを外すことで解決策を見つけました。デバッグ>オプション> NuGetパッケージマネージャー>パッケージソース

Nuget.orgパッケージのみを許可する

2
Megha

ここに画像の説明を入力

VS2015では非常に簡単です。プロジェクトソリューションを右クリックし、[nugetの復元]をクリックするだけで済みました。

0
Milo Joe

Visual Studio 2015を管理者モードで起動した後にパッケージフォルダーにアクセスする際に問題が発生したため、復元を実行する目的で削除しました。

ただし、ソリューションの再構築時に復元は実行されず、ソリューションレベルまたはNugetウィンドウで復元パッケージが見つかりませんでした。

ただし、ソリューション内のプロジェクトのReferencesノードを右クリックすると、パッケージの復元オプションがあります。すべてのプロジェクトでこれを実行すると、修正されました。

0
Daniel Persson