私はたまたまCOMを呼び出す互換性のあるプロジェクトを持っています。そのためにいくつかの単体テストがあります。これらのテストをローカル マシンから実行すると、すべてうまくいきます。
しかし、これらのテストをチームのビルド サーバーで実行すると、次のエラーが表示されます。
クラスの初期化メソッド Foo.Bar.Baz.Initialize が例外をスローしました。System.Runtime.InteropServices.InvalidComObjectException: System.Runtime.InteropServices.InvalidComObjectException: 基になる RCW から分離された COM オブジェクトは使用できません..
2005 年から 2008 年にかけて、以前のバージョンの Visual Studio で発生したこの種の問題についての議論を見てきました。しかし、単体テスト インフラストラクチャは 2012 年に完全に置き換えられました。ほとんどのソリューションには、このプロジェクトにはない「.testsettings」ファイルの編集が含まれているようです。
開発には Visual Studio 2012 Update 1 を使用しており、ビルド サーバーと TFS インスタンスは TFS 2010 SP1 を実行しています。