4

TFSでのソリューションのセットアップに関するフィードバックを探しています。現在、ソースセーフを使用しており、苦痛を伴います。幸い、ついにTFSに行きます。私たちはプロジェクトのコレクションを持っており、私はこれらを設定するための「最良の」方法を探しています。

コアは、他のアプリケーションのフレームワークを構成するサーバーソリューションとクライアントソリューションです。サーバーにはいくつかのWebサービスといくつかのライブラリのコレクションがあり、クライアントソリューションにはいくつかのライブラリといくつかのクライアントアプリケーションがあります。クライアントはサーバーと対話します。

このフレームワークに基づいて構築された個別のアプリケーションソリューションもあります。フレームワークソリューションのDLLのいくつかは、個々のアプリケーションで必要です。これらのDLL参照は頻繁に使用され、バージョンが同期しなくなることがあります。アプリケーション1は、FrameworkクライアントプロジェクトなどのライブラリDLLに依存しています。

問題を最小限に抑えるために、TFSでこれらのソリューションをどのように設定しますか?フレームワークソリューションのビルドでこれをどのように自動化しますか?私が探している結果は、アプリケーション1、2、および3がフレームワークのクライアントおよびサーバーソリューションからDLLファイルの更新バージョンを取得することを単純化し、フレームワークと個々のアプリケーションのリリーススケジュールで可能な限り同じバージョンを持つことです。

私の最初の考えは、フレームワークと各モバイルアプリ用の領域を持つ1つのチームプロジェクトを持つことです。フレームワークエリアには、クライアントとサーバーのサブエリアとそのサブエリアがあります。次に、フレームワークと同じレベルで、各アプリケーションが存在します。これがどれだけうまく機能するか、そして他のアプリケーションが最新のフレームワークDLLを自動的に取得するように強制する方法がわかりません。

  • フレームワーク
  • -サーバー
  • ---サーバーWS
  • ---サーバーライブラリ
  • ---サーバーDataAccess
  • -クライアント
  • ---クライアントWS
  • ---クライアントライブラリ
  • ---クライアントDataAccess
  • アプリケーション1
  • アプリケーション2
  • アプリケーション3

編集20091020:
フレームワークとアプリケーションの1つについてPMと話し合った後、これはソースコードをどのようにレイアウトするかについての彼の考えでした。これは私には理にかなっており、論理的に思えます。各アプリケーションとそのリリースの開発ブランチをかなり分離したまま、同じプロジェクトにまとめておくと、アプリケーションの要件をフレームワークなどで必要な変更に簡単にリンクできるようになります。

これについての考えは?あなたが見る長所/短所はありますか?

        フレームワーク  
           。サーバ  
              。トランク  
              。ブランチ  
              。リリース  
           。クライアント
              。トランク
              。ブランチ
              。リリース
        アプリケーション1
           。トランク
           。ブランチ
           。リリース
        アプリケーション2
           。トランク
           。ブランチ
           。リリース
        アプリケーション3
           。トランク
           。ブランチ
           。リリース
4

2 に答える 2

2

すべてのアプリケーションが依存するフレームワークの「リリース」安定バージョンがあると思います。このようなプロジェクト構造を作成します。

。発達
    。フレームワーク
       。バージョン
    。アプリケーション1
       。バージョン
    。アプリケーション2
         バージョン
。主要
   。フレームワーク
   。アプリケーション1
   。アプリケーション2

。リリース
   。フレームワークバージョンxxx
   .Application1バージョンxxx
   .Application2バージョンxxx

したがって、Source Safeから移動するときは、チームプロジェクトにブランチMainを作成します。次に、すべての開発作業用に開発ブランチを分岐し、現在のリリースのソースコードのバージョンを維持するためにリリースブランチを分岐します。(これは、修正プログラムをコーディングしたり、現在の製品リリースで問題を再現したりするのに役立ちます)。

アプリケーションでのフレームワークへのすべての参照は、最新のリリースブランチからポイントする必要があります。これは、個々のアプリケーションのビルドを作成するときに適切なフォルダーを取得することで管理できます。

于 2009-10-19T16:01:20.113 に答える
0

Microsoftには、Visual Studio Team Foundation Serverの分岐およびマージガイドがあり、これを使用して目的の構造を選択できます。

于 2012-10-02T20:57:19.947 に答える