web-dev-qa-db-ja.com

Visual Studio 2010:ソリューションでプロジェクトのビルド順序を強制する方法は?

私はVisual Studio 2008でこれに問題はありませんでしたが、VS 2010に問題があるようです。

ASP.NET WebサイトプロジェクトといくつかのC#プロジェクト(BLL、DAL、NUnitでのテスト)を使用したソリューションがあります。 NUnitを自動的に実行してテストを実行するように、テストプロジェクトのビルドプロセスを構成しました。最新のコンパイル済みバージョンに対してテストが実行されるように、BLLおよびDALプロジェクトがテストプロジェクトの前にビルドされるようにします(はい、私はこれをすべて1つのプロジェクトで実行できることを知っていますが、我慢してください:))

そこで、BLL、DAL、およびWebアプリケーションプロジェクトを含めるようにテストプロジェクトの依存関係を設定し、ビルド順序にBLL、DAL、Webアプリケーション、テストの順に表示します。ただし、テストプロジェクトをビルドしても、BLLは実際にはビルドされないことに気付きました。

これが何であるか、またはテストプロジェクトをビルドするときに他のプロジェクトを強制的にビルドするために欠落している可能性のあるアイデアはありますか?

助けてくれてありがとう!

72
SeanKilleen

Nick Craverは、特定の構成用にビルドするプロジェクトが選択されていることを確認するために、Configuration Managerをチェックすることについて言及しました。

ただし、ソリューション内の複数のプロジェクトのビルド順序を設定するには、ソリューションを右クリックして、コンテキストメニューから[プロジェクトビルド順序...]を選択します。

122

同様の問題を抱えている人のために、ここでコメントについて少し説明します。

ソリューションを右クリックしてConfiguration Managerを選択して構成マネージャーを開き、右側の列で適切なプロジェクト(現在の構成)のビルドがチェックされていることを確認します。

Configuration Manager

20
Nick Craver

手動で順序を設定する代わりに、 Project Dependencies を使用して、ビルド順序を間接的に指定できます。

  1. ソリューションエクスプローラーで、プロジェクトを選択します。
  2. [プロジェクト]メニューの[プロジェクトの依存関係]を選択します。 [プロジェクトの依存関係]ダイアログボックスが開きます。 プロジェクトの依存関係オプションは、複数のプロジェクトがあるソリューションでのみ使用できます。
  3. [依存関係]タブで、[プロジェクト]ドロップダウンメニューからプロジェクトを選択します。
  4. [依存]フィールドで、このプロジェクトの前にビルドする必要がある他のプロジェクトのチェックボックスをオンにします。
16
Vyktor

VS2012で発生する問題を修正するために、次のことを行いました。

プロジェクトのプロパティを右クリック->共通のプロパティ->フレームワークと参照

[依存関係]タブに表示されるプロジェクトが[参照]リストにないことがわかります。

[新しい参照の追加]をクリックして、不足しているプロジェクトを追加します。

0
John