15

.NET 開発ツリーをどのようにセットアップしますか? 次のような構造を使用します。

-projectname
--config (where I put the configuration files)
--doc    (where I put all the document concerning the project: e-mails, documentation)
--tools  (all the tools I use: Nunit, Moq)
--lib    (all the libraries used by the solution: ninject or autofac)
--src
---app   (sourcefiles)
---test  (unittests)
solutionfile.sln
build.csproj

記号「-」はディレクトリを示します。

このような構造をうまく構築することは非常に重要だと思います。ソース管理システムからソース コードを取得し、Visual Studio を開いたり、サード パーティのライブラリをインストールしたりしなくても、ソリューションをビルドできるはずです。

これについて何か考えはありますか?

4

8 に答える 8

8

JP Boodhoo の「プロジェクトのディレクトリ構造」というタイトルのブログ投稿で説明されているものと非常によく似たレイアウトを使用します。

于 2008-09-16T12:23:54.383 に答える
5

これらの他の StackOverflow の質問をチェックしてください...

于 2008-09-16T12:23:51.340 に答える
2

TreeSurgeonは、必要なすべての依存関係とスケルトン nant ファイルを含むディレクトリ ツリーをセットアップするツールです。そのリンクで、元の作成者である Mike Roberts による一連のブログ投稿を見つけることもできます。この記事では、TreeSurgeon が提供する構造の背後にある意図的な選択のいくつかを説明しています。たとえば、lib とツールの間で重複があってもよい理由、重複が重要な理由などです。すべての依存関係が存在するなど。

私はしばらくそれを使用していないので、それが行うすべての選択にまだ同意するかどうか思い出せませんが、あなたがそれを大きく間違えることはないと思います.

于 2008-09-16T12:58:52.707 に答える
1

次のような構造を使用します。

  • CompanyNameまたはCoreProjectName
    • ブランチ
      • 支店名
        • CopyOfTrunk
    • トランク
      • デスクトップ
      • 参照されたアセンブリ
      • 共有
      • ソリューション
      • テスト
      • ウェブ

次に、すべてのプロジェクト/ソリューション ファイルが相対パスのみを使用し、分岐が適切に機能することを確認してください。Desktop/Webs はそれぞれのタイプのプロジェクト用、Test は任意の単体テスト プロジェクト用、Solutions フォルダーにはソリューション ファイルのみを含む各ソリューション用のフォルダーがあります。ReferencedAssemblies は、ソリューションに含まれていないすべてのアセンブリを保持します (これらは、ソリューションをビルドするたびにビルドしたくないローカル プロジェクトである場合や、rhinomocks や log4net などのサード パーティ アセンブリなどです。Shared は、複数のソリューションで使用されるコア ライブラリ (データ アクセス、ビジネス ロジックなど) のいずれか。

于 2008-09-16T12:39:17.183 に答える
0

あなたの構造を正しく理解していれば、「tools」と「lib」に関連する開発ツリーに多くの重複があると思います。ほとんどの場合、これらは異なるプロジェクトで共有される可能性のある外部ツールとライブラリです。

私たちにとってうまくいくものは次のとおりです。
solutionfile.sln
-src
--projectname
---config
---doc
---source files (structure representing namespaces)
-test
--testprojectname (usually, a test project per source project)
---unit test files (structure mirroing the structure in the source project)
-lib
--libraryname (containing the libraries)
-tools

于 2008-09-16T12:32:42.503 に答える
0

プロジェクト内にツールがありません。ツールはネットワーク共有にあります。はい、ディスクスペースは最近安いですが...さあ:)

また、projectname の下にデータベース スクリプト フォルダーがあります (データ駆動型アプリの場合)。

もちろん、どのようにセットアップするかはそれほど重要ではありませんが、論理的に組織化された標準がプロジェクトに適合するように使用され、適切な規律に従って順守されているという事実は重要です。これは、ソロでもチームでも役立ちます。

于 2008-09-16T12:33:05.547 に答える
0

私たちは TreeSurgeon も使用しており、非常に満足しています。構造は次のようになります。

ブランチ

  • 建てる
  • ライブラリ
  • ソース
    • < アプリ、テスト、データベース移行などのためのさまざまな src ディレクトリ)
  • ツール

トランク

  • 同上
于 2008-09-16T13:17:30.883 に答える
0

私の職場には複数のプロジェクトがあり、各プロジェクトは次のように独自のサブディレクトリ を
取得 し ます 。




セットアップの残りの部分は問題ないように見えますが、たとえば、複数のソリューション間でソース ライブラリを共有するなど、複数のプロジェクトを組み込む方法を理解する必要があると思います。

于 2008-09-16T12:25:42.273 に答える