2012-10-21 38 views
7

私は2つの異なるアプリケーションをtfsソース管理で設定しました。どちらも共通のライブラリを共有し、ソース管理にも設定されています。TFSと共有DLLで共通ライブラリを扱う方法

共通ライブラリへの変更の現在のプロセスは、それをビルドすることです.dllを介して、他のアプリケーションが引き込まれて動作する場所にコピーします。これはマニュアルであり、うまくいきません。特にTFS CI Buildsに移行しています。

-TFS 
    - Web 1 
     | Main 
     | RB_1_0 
    - Web 2 
     | Main 
     | RB_1_0 
    - Shared 
     | Main 
     | RB_1_0 
     | RB_2_0 
     | RB_3_0 

だから私は、これを変更するには探しています、それを自動化:TFSにおけるこのような

レイアウト。しかし、私はそのようにすることができますか分からない。あなたが見ることができるように、複数の支店などがあります。共通の図書館として、私はウェブ1やウェブ2にプッシュされるナゲットパッケージを使って作業するように設定しようと考えていました。これを設定する。

上記の構造を見直して、出力されたdllファイルの一般的な配布を管理する最良の方法について意見を述べることは可能でしょうか? CI環境では? Nugetは最良の選択肢ですか?

答えて

9

NuGetは私がこれに使用しているものです。

build a nuget packageにアクティビティを追加し、共通のパッケージ

のための新しいパッケージを作成するために、ビルドプロセスを変更し、別のあなたがNuGetリポジトリとして使用し、ネットワーク共有にコピーしています。 Tfs NuGetterのように、ビルドテンプレートを手動で編集する代わりに使用できるいくつかのプロジェクトがあります。

ビルドテンプレートを変更したくない場合は、[tfs deployer]のようなツールを使用して、代わりにNuGetパッケージを作成するカスタムデプロイメントスクリプトを作成できます。または、ビルド完了イベントにフックするものを書いてください。

これは、あなたがソース管理にパッケージを保存したり、あなたはソリューションの最新を取得するときに、パッケージのダウンロードがないに対処する必要がないことを意味すべてのソリューション

のビルドにパッケージを復元可能にします。

依存関係のバージョンを更新するには、ソリューションを開き、通常のNuGetパッケージのように更新します。

関連する問題