38

SVNを使用して共同開発環境でBINディレクトリをチェックインするためのベストプラクティスは何ですか?プロジェクトレベルの参照をチェックインから除外する必要がありますか?すべてのbinディレクトリを追加する方が簡単ですか?

私は多くのDotNetNukeサイトを開発していますが、マルチ開発者環境では、環境を正しくセットアップすることは常に大きな作業のようです。

最終的な目標は(もちろん)、新しい開発者がSVNからトランクをチェックアウトし、DNNデータベースを復元して、すべてを「機能」させることです...

4

5 に答える 5

19

GACにあると予想されるアセンブリは、GACにとどまる必要があります。これには、System.web.dllまたは本番環境でGACにデプロイするその他のサードパーティのdllが含まれます。これは、新しい開発者がこれらのアセンブリをインストールする必要があることを意味します。

他のすべてのサードパーティアセンブリは、相対パスを介した参照である必要があります。私の典型的な構造は次のとおりです。

-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files

Project.WebとProjectは、root/Referencesフォルダー内のアセンブリを比較的参照します。これらの.dllはsubversionにチェックインされます。

それとは別に、* / bin * / bin /*objはグローバル無視パスにある必要があります。

この設定では、アセンブリへのすべての参照はGACを介して(したがって、すべてのコンピューターで機能する必要があります)、またはソリューション内の各プロジェクトに関連しています。

于 2008-08-01T23:40:28.463 に答える
4

これは.Net固有の質問ですか?

一般に、ベストプラクティスは、すでにSCMにあるファイルから自動的に作成されたものをチェックインしないことです。これらはすべて、自動ビルドプロセスの一部として理想的に作成されます。

bin参照しているディレクトリに、プロジェクトのビルドではなくサードパーティのバイナリが含まれている場合は、このアドバイスを無視してください(反対票を投じますか?)。

于 2008-08-01T23:44:05.883 に答える
4

Tree Surgeonは、空の .NET 開発ツリーを作成する優れたツールです。長年の使用で調整され、多くのベスト プラクティスが実装されています。

于 2008-09-11T13:03:13.643 に答える
2

Java をコーディングしているとき、Maven はこの問題に非常に役立ちます。pom.xml を scs にコミットすると、maven リポジトリにすべての依存関係が含まれます。私にとって、それはそれを行うための良い方法のように思えます。

于 2008-08-02T18:30:34.673 に答える
1

すべてのベンダー固有のヘッダーとバイナリを含むベンダー ディレクトリを使用する慣行に従います。目標は、製品をチェックアウトして最上位のビルド スクリプトを実行するだけで、誰でも製品をビルドできるようにすることです。

于 2008-08-13T22:25:16.183 に答える