起订量和互操作类型:在 VS2012 中有效,在 VS2010 中失败? [英] Moq & Interop Types: works in VS2012, fails in VS2010?

查看:29
本文介绍了起订量和互操作类型:在 VS2012 中有效,在 VS2010 中失败?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含大约 500 个单元测试的 .NET 库项目.所有这些测试在 Visual Studio 2012 中都运行良好.但是,我的一些测试在 Visual Studio 2010 中失败了.在这些失败的测试中,我使用 Moq 来模拟 Microsoft.Office 中的几种互操作类型.Interop.Excel.尝试访问这些模拟互操作类型时,测试立即失败:

错误:缺少方法实例类 Microsoft.Office.Interop.Excel.Range [ExcelAddIn.Core] Microsoft.Office.Interop.Excel.ListRow::get_Range()"来自类Castle.Proxies.ListRowProxy"'.

这个异常意味着我忘记在我的模拟上设置适当的属性 getter.事实并非如此:

_listRowMock.Setup(m => m.Range).Returns(_rangeMock.Object);

现在我可以想象 Moq 可能不太适合互操作类型.但我觉得最令人费解的是,这些测试在 Visual Studio 2012 中运行良好,但在 Visual Studio 2010 中却失败了.

为什么我的 Visual Studio 会影响我的代码的行为?

更新:2012 年 3 月 11 日

好的,所以我把它归结为:

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆