2011-06-14 8 views
48

私たちのプロジェクトは、次のように編成されています。NuGetとTFSのベストプラクティスTFSにおける

$\DefaultCollection\ProjectName\Source <-- source code goes here 

$\DefaultCollection\ProjectName\SharedAssemblies <-- 3rd party binaries go here 

今NuGetは現場にあることを、我々のアプローチを変更してから来るのdllのためのNuGetのパッケージフォルダを使用するために何らかの理由がありますNuGet対応のプロジェクトですか?私は誰が報告することができます場合は、1つは、それが言ったいくつかの依存関係

をパッケージを更新し、破壊1つの開発者にオープンたちを残して)依存関係 2を探す必要があり、それは二つの場所を作成し、この) ために寄りかかっていますTFS環境でNuGetを使い始めるのが正当な理由で、自分のアイデアを自分のもの(冗談)のように私のチームに喜んで提示します。

+4

あなたはプロジェクトの 'packages.config'ファイルからローカルコピーを移入するために' NuGet.exe'を使用して代わりに、バージョンコントロールにNuGetからパッケージを格納する必要はありませんします。http:// blog.davidebbo.com/2011/03/using-nuget-without-committing-packages.html – Richard

+0

これは、複数のプロジェクトを持つソリューションではどのように機能しますか?私たちの主なものには、2つのWebアプリケーション、2つのコンソールアプリケーション、およびサービスがあります。 dllストアのアプローチの利点は、それらのすべてが一緒に動作するか失敗することです。 –

+0

リンクを参照してください:同じリポジトリフォルダを持つ 'packages.config'ごとに' nuget-exe'を実行すると、欠落しているパッケージだけがダウンロードされます(これはプロジェクトごとのビルド前のステップかもしれません)。 – Richard

答えて

30

Nuget 1.6では、ビルド時に存在しないパッケージが動的にダウンロードされるようになりました。だから、.dllなしでソースコントロールにチェックインできるようになりましたが、ビルド自体が正しいパッケージを取得します。

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

+3

[nugetパッケージの復元](http://docs.nuget.org/docs/release-notes/nuget-2.1)で、どのフォルダを指すように指示しますか? TFSは物理的なパスではない???すべての人の作業スペースが異なる可能性がありますので、これは正確ではありません: '' – felickz

+3

私はこれが古いと知っています。疑問に思う:単にファイルパスを入れないでください。相対パスを入れます。例えば SeanLAllen

関連する問題