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 。トランク 。ブランチ 。リリース