2

ソリューションに NuGet パッケージを追加し、ソリューションでパッケージの復元を有効にしました。これにより、ターゲット ファイルなどを含む .nuget フォルダーが正しく作成されました。

NuGet パッケージは、実際にはソリューションの依存関係になる別のプロジェクトです。最初に、このパッケージを手動でソリューションに追加しました。

この NuGet 機能をテストするために、packages フォルダーの下のフォルダーを削除しました。

その時点で、他の依存プロジェクトが削除されたばかりのプロジェクトに依存しているため、明らかにコンパイラ エラーが発生します。

ソリューションをビルドするとき、NuGet が必要な NuGet パッケージをダウンロードしてダウンロードすることを期待しています。これは、[パッケージの復元を有効にする] に設定されており、他のすべての依存プロジェクトがビルドできるようになったため、正常にビルドされます。

ただし、NuGet パッケージがダウンロードされたことを示す証拠は出力に表示されず、ビルド エラーはプロジェクトがダウンロードされていない場合と同じままです。

ここで私が欠けているものや間違っているものがあるかどうかを誰かが確認できますか?

4

2 に答える 2

1

私の知る限り、packagesフォルダーの下のパッケージを削除すると、NuGet のパッケージ復元機能によって復元されるはずです。

次のことが役に立ちます。

  1. 実際のビルド エラーを参照してください。
  2. 復元しようとしているパッケージを把握します。

私たちのような一部のパッケージは、パッケージの復元で使用するときに問題がある .targets ファイルに依存しています。

于 2013-07-08T16:38:33.513 に答える
1

ソリューション フォルダーの NuGet.Config で "packageRestore" オプションが有効になっていることを確認します。

<?xml version="1.0" encoding="utf-8"?>  
<configuration>  
    <packageRestore>  
        <add key="enabled" value="True" />  
    </packageRestore>  
</configuration>  

また、「C:\Users\%UserName%\Application Data\NuGet\NuGet.Config」でグローバルに有効にする必要があります (VS 内から [ツール] -> [オプション] -> [パッケージ マネージャー] で設定できます。

また、NuGet 2.7 以降のパッケージを復元するための別の方法があることにも注意してください - 「自動パッケージ復元」。詳細については、ドキュメントを参照してください: http://docs.nuget.org/docs/reference/package-restoreおよびhttp://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore

于 2013-10-10T14:26:56.350 に答える