6

nugetをもっと使用する必要があることはわかっていますが、現時点ではニュアンスを完全に理解していないため、ソースを取得してプロジェクトをビルドしてからプロジェクトを参照するか、独自の「dll」フォルダーを作成して手動でコピーする傾向があります。 dllはにあります。

学習プロセスの一環として、nugetを使用するときに何が重要で何が重要でないかを理解しようとしています。たとえば、install-package restsharpを実行しましたが、ソース管理にチェックインすると、「packages / RestSharp.103.4 / lib / net4/RestSharp.xml」のようなファイルが表示されます。nugetはアップグレードなどに役立つと思いますが、特定のメタデータ型ファイルが必要です。

私の質問は、「packages」ディレクトリ内のファイルの一部またはすべてを無視する必要があるかどうかです。もしそうなら、何と理由。

ありがとう

4

2 に答える 2

6

この状況を処理するための 2 つのワークフローがあります。元のワークフローは、packages ディレクトリ内のすべてのファイル (無視する必要はありません) をコミットして、チームの他の開発者がプロ​​ジェクトをビルドするためのパッケージを取得できるようにすることでした。

NuGet 1.6 以降で利用できる新しいワークフローは、ソリューションに対して NuGet のパッケージ復元機能を有効にすることです。これにより、不足しているパッケージ ファイルはプロジェクトのビルド時に自動的にダウンロードされますが、大きなバイナリ ファイルをバージョン管理にコミットする必要がなくなりました。NuGet 2.0 の時点で、チームの各開発者は、Visual Studio オプション内で NuGet のパッケージ復元アクセス許可を有効にする必要があります。

于 2012-08-31T15:46:10.900 に答える
2

Visual Studio の [プロジェクト] の下に、 というメニュー項目がありますEnable NuGet Package Restoreこれは、プロジェクトを開いてWeb アプリケーション プロジェクトを使用している場合に使用できます(復元は Web サイト プロジェクトでは機能しません)。それを選択して、パッケージの復元を有効にします。その後、Packages ディレクトリをソース管理にコミットする必要はありません。

NuGet のドキュメントには、パッケージの復元に関するより多くの情報があります。

パッケージの復元を手動で模倣する可能性がある場合は、packages.configファイルを解析し、NuGet コマンドライン ブートストラップ( nuget.exe) を実行してそれらのパッケージをインストールするものが必要になります。幸いなことに、ブートストラッパーは packages.config をパラメーターとして受け取ります。次の手順を使用すると、パッケージが復元されます。

  1. packagesソリューションがあるディレクトリからフォルダーを作成します。
  2. packages ディレクトリから、コマンド ラインから次のコマンドを実行します。

    nuget.exe インストール [packages.config へのパス]

これはすべてバッチ ファイル内から行うことも、自動化することもできます。

于 2012-08-31T15:40:04.887 に答える