我有一个后来的兼容性项目,它恰好调用了 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。