2

コードをVSS2005からVisualSVNに移行しようとしています(同時にTeamCityを追加します)。

これにより、コードファイル/フォルダーを再構築する1回限りのチャンスが得られ、「領域」またはすべてのプロジェクトに共通のコードを含むことが多い複数の小さなソリューションを構築する方法についてのアドバイスを探しています。

WinForms、MVC3サイト、コンソール/サービスアプリなど、通常は部門固有の小さな内部アプリケーションがたくさんあります。ほとんどの部門には、作業対象の「共通」コードがいくつかあります。次に、拡張メソッドなど、ほとんどのプロジェクトに共通する一般的な共通コードがあります。

デフォルトでは、VS2010は.slnファイルを含む「Solution」フォルダーを作成し、その下に「Project」フォルダーを作成します。つまり、すべてがうまく離散しているということですが、プロジェクトは「ソリューション固有」に見えるため、プロジェクトの共有はより困難です。

何でも参照できることは知っていますが、ディスク構造ではソリューション固有のように見えます

CommonCode
--CCProj1
--CCProj2
HR.ServiceApp
-HR.ServiceApp.sln
--HR.SmallApp1.DAL
--HR.SmallApp1.Service
HR.WinFormsApp
-HR.WinFormsApp.sln
--HR.SmallApp2.DAL
--HR.SmallApp2.WinForms

別の方法は、次のように構造化することです。

CommonCode
--CCProj1
--CCProj2
HR
-HR.Service.sln
-HR.WinForm.sln
--HR.DAL
--HR.Service
--HR.WinForms

すべてのHRコードを1つのフォルダーに配置しますが、複数のソリューションを使用すると、新しいユーザーにとっては少し不明確になる可能性がありますか?

他の人が一般的に行うことについてのアドバイスは非常にありがたく受け取られます(特にSVNへの移行に注意してください)


別の選択肢

HR
-HR.Common
--HR.Common.Repository
---HR.Common.Repository.sln
----HR.Common.DAL
-----HR.Common.DAL.csproj
----HR.Common.BLL
-----HR.Common.BLL.csproj
-HR.Services
--HR.Services.Service1.sln
---HR.Services.Service1
----HR.Services.Service1.csproj
--HR.Services.Service2.sln
---HR.Services.Service2
----HR.Services.Service2.csproj
4

2 に答える 2

2

構造化への答えは、Q&Aサイトではなく、チームにとってより重要です。あなたが示したようにさまざまな解決策があり、それぞれにメリットがあります。それはすべて、チームにとって何が最も快適かによって異なります。

これがSVNとどのように結びつくかという点では、そうではありません。SVNを使用すると、IDE /プログラミング言語などに依存しないため、好きなように構造化できます。

ただし、移行段階にあるときにできることは、さまざまな構造で構成されたコードのいくつかのブランチを作成して、チームにそれぞれ異なる方法でデモできるようにすることです。決定したら、最適なコードをトランクにマージします。このブランチを管理するには、SVNリポジトリのトップレベルにトランク、ブランチ、タグのフォルダーが必要です。

于 2013-01-10T14:26:11.387 に答える
1

論理的なソフトウェア構成とSVN構造を分離して維持する必要があると思います。私はこのような一般的な構造を作ります:

- trunk
    - <general structure>
- branches
    - release_bugfix01
        - <general structure>
    - release02_rc1
        - <general structure>
- tags
    - release01
    - release02

「一般的な構造」は次のとおりです。

 - common_code_1
 - common_code_2
 - project_one
 - project_three
 - winform01
 - humanresources_MVC3_site
 - console_service_app01

プロジェクトと共通コードの内部構造は任意の形にすることができ、プロジェクトと共通コード間の論理的な依存関係はリポジトリの外部で定義する必要があります。

標準レイアウトの詳細については、SVNブックを参照してください。

于 2013-01-10T14:35:42.027 に答える