52

nuget を使用して、必要なパッケージへの参照のみをバージョン管理に保存することは可能でしょうか (package.config のみで、packages フォルダーは無視します)。

さまざまなpackage.configファイルで参照されているすべてのパッケージを(再)ダウンロードするようにnugetに指示する方法はありますか? または、ビルドスクリプトに入れることができる同様のもの。

アップデート:

この機能を要求したのは私だけではないようです:この作業項目を参照してください(ヒントについては PHeiberg に感謝します)。

更新 2:

NuGet には、この機能が組み込まれています。詳細については、「パッケージをソース管理にコミットせずに NuGet を使用する」を参照してください。あとは、packages ディレクトリを .gitignore または VCS に相当するものに追加するだけです (/packages/リポジトリのルートにあり、git を使用している場合はこのトリックが実行されます)。

4

3 に答える 3

19

NuGetPowerTools について知りました: https://github.com/davidfowl/NuGetPowerTools

参照: http://blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html

更新: NuGet 1.6 がパッケージの復元をサポートするようになりました: http://docs.nuget.org/docs/release-notes/nuget-1.6

于 2011-08-23T08:00:15.680 に答える
8

最初の質問についてはわかりません。

CI サーバーにパッケージを自動的に更新させることに関しては、理論上は実行可能です。「List-Package -Installed」コマンドと「Update-Package」コマンドを連鎖させて、各パッケージを最新バージョンに更新することができます。詳細については、コマンド リファレンスを参照してください。

Scott Guthrie氏はこのトピックについて次のように述べています。

「コマンド ライン オプションを CI ソリューションと統合し、ビルド/CI プロセスの一部として update-package コマンドを明示的に実行して、更新を取得することができます。率直に言って、私たちが話しているシナリオにとってそれが理にかなっているかどうかはわかりません。ただし、通常、一部の開発者がコア ランタイム依存関係を新しいバージョンに更新する前に決定する必要があるため、NuPack の既定のモデルでは、開発者は NuPack を使用してライブラリをインストールし、NuPack はパッケージと依存関係をソース管理に自動的にチェックインします。そうすれば、別の開発者 (または CI サーバー) は NuPack を再度使用する必要がなくなり、ソースとビルドを同期することができます. しかし、前述したように、CI プロセスの一部として明示的に更新を行いたい場合は、 ."

編集:

あなたのコメントの後、あなたが達成しようとしていることがわかります。この問題に関する NuPack ディスカッション リストで、この長いスレッドを見つけました。ソリューションは明らかに v1 の一部ではありません。選択した CI のカスタム ビルド タスクとそのためのレポの構成が、私が目にする唯一の解決策です。調査結果を報告してください。あなたは私に興味を持ってもらいました。

于 2010-10-18T19:13:31.013 に答える
5

Phil Haack のブログで、この質問に関する現在の議論があり、この質問に取り組む方法についてフィードバックを求めています。

于 2011-04-28T03:48:13.847 に答える