OK、少なくとも問題の原因と、やや不十分な回避策を見つけました!!
まず、新しい単体テスト プロジェクトを追加し、メイン ソリューションから単一のプロジェクト参照を追加しました。私のデータ (ビジネス エンティティ) プロジェクトが、私が説明している問題に悩まされていることを発見しました。他のすべてのアセンブリは何らかの形でデータ プロジェクトに依存しているため、1 つが再コンパイルされると他のすべてのアセンブリが影響を受けるという事実があります。
なぜそれは常に再コンパイルするのですか? それはEntity Frameworkと関係があります。空のプロジェクトを作成し、それに空の EF モデルを追加します。変更していなくても、常に再コンパイルされます。これにより、おそらくデータ アセンブリのメタデータが変更されたため、依存関係が再コンパイルされるというノック オン効果が生じます。
私が見つけた回避策は、プロジェクト参照を追加するのではなく、直接アセンブリ参照をデータ アセンブリに追加することです。欠点は、たとえば VS2008 の [定義に移動] を実行して型に直接移動できないことですが、その特定のアセンブリでそれを行うことはめったにないため、大きな問題ではありません。
これを行うことで、単一の単体テストを実行するためだけのビルド時間が約 20 秒から 7 秒に短縮されました。これは、毎日何十もの単体テストを作成している場合に大きな違いをもたらします!
なぜEFモデルがこれを行うのかについて誰かが何か考えを持っているなら、私は本当に興味があります...