一部の単体テストを TFS 2010 CI ビルド プロセスに統合/自動化しようとしましたが、テストが失敗したときにこの奇妙なエラー メッセージが表示されました。
根本的な原因が何であるかを突き止めるためにしばらく時間を費やした後、コードを数行に単純化しました。
私が何かをするなら
Book b = new Book { ID = 1, Name = "test book" };
Category c = new Category { ID = 1, Name = "test category" };
Assert.AreEqual(1,1);
その後、すべてが順調です。しかし、もしそうなら:
Book b = new Book { ID = 1, Name = "test book" };
Category c = new Category { ID = 1, Name = "test category" };
b.Category = c;
Assert.AreEqual(1,1);
単体テストは失敗し、「テストの実行中にエージェント プロセスが停止しました」というメッセージが表示されます。
ローカル マシンでテストを分離して実行すると、両方のバージョンが正常に動作します。
ビルド サーバーのイベント ビューアーを見ると、次のように表示されます。
Faulting application name: QTAgent32.exe, version: 10.0.30319.1, time stamp: 0x4ba20efb
Faulting module name: System.Data.Entity.ni.dll, version: 4.0.30319.1, time stamp: 0x4ba1e2fd
Exception code: 0xc00000fd
Fault offset: 0x0029ffae
Faulting process id: 0x484
Faulting application start time: 0x01cd74e84f30a93b
Faulting application path: c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
Faulting module path: C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Data.Entity\7aa839fb16503243d6ae454ab334bcf4\System.Data.Entity.ni.dll
Report Id: 8d4222b0-e0db-11e1-8dbe-005056a3481b
この奇妙な振る舞いを以前に見た人はいますか?
編集: 私は EF 4.0 のデータベース ファースト モデルを使用しているため、すべてのエンティティ クラスは ADO.NET Entity Data Model テンプレートを使用して作成されました。