2012-01-31 10 views
1

私は、テストプロジェクト(TestProjectA:NUnitでシステムテストを含む)を含むテストソリューション(TestSolutionA)を持っており、テストプロジェクトはそのプロジェクトのクラスのいくつかを読む必要があるので、別の既存プロジェクトEmailHelperとしてTFSでTeamCityを設定してプロジェクトをビルドするにはどうすればいいですか?

フォルダ構造:

*Root 
**Tests 
***References 
***TestSolutionA 
****TestProjectA 
**ClassLibraries 
***ProjectB 

参照フォルダがTestProjectAで使用されるような等NUnit.dll、としてアセンブリを含んでいます。

私はTeamCityを設定してTestSolutionAをビルドし、TestProjectAのテストを実行しました。つまり、TestSolutionAをビルドすると、このソリューションで参照されているすべてのファイルとフォルダが「ディレクトリのチェックアウト」にチェックアウトされ、ソリューションがビルドされます。

問題は、ProjectBのすべてのファイルとフォルダをTeamCityサーバーにチェックアウト/エクスポートして再ビルドする必要があるたびに、ProjectBのdllだけが必要であるため、このテストソリューションの構築が遅いためです。その中にあるすべてのファイル/クラス。

この問題は、より多くの外部プロジェクトが関与している場合に発生します。

テストプロジェクトで外部プロジェクトを参照する必要があるようなシナリオでは、ビルドのスピードアップに優れたソリューションはありますか?例えばそれらをチェックアウトするのではなく、TeamCity Serverにエクスポートするのではなく、即座にアセンブリをビルドします。

わからないことがありますか。

質問は明らかです。

あなたがする必要がある

答えて

0

何おかげで、DLLを構築し、人工物として、それを公開していProjectBのための別々のチームシティーのビルド構成を作成することです。 TestSolutionのビルド構成を構成して、ProjectB DLLにアーティファクトが依存するようにすることができます。このようにして、TestSolutionのビルド設定でProjectBのソースコードを一切取得する必要はありません。

チームシティーのドキュメントのいくつかの有用なリンクは以下のとおりです。

http://confluence.jetbrains.net/display/TCD65/Build+Artifact

http://confluence.jetbrains.net/display/TCD65/Artifact+Dependencies

+0

感謝が、どのよう.csprojファイルをビルドするには? TeamCityは、そのUIによって判断される.slnファイルのみを構築できます。私は、ソリューションなしでプロジェクトを構築する方法がわからないということです。 –

+0

ProjectB用の新しいソリューションを作成するだけではありませんか? –

+0

残念ながら、私は "Visual Studio(sln)"ランナータイプも.csprojファイルをビルドできるので、ビルドするための新しいステップを作成したので、今はDLLをビルドすることを確認しました。残りの唯一の部分は、TestSolutionAのbinフォルダにそれらのdllを移動することです。方法がわからない –

関連する問題