2013-08-01 115 views
3

我正在尝试在我的代码中引用的库中添加一个Fakes程序集(在Visual Studio 2012 Ultimate中),以便我可以独立于程序库实现进行测试。我遇到的问题是,当我右键单击引用的程序集并单击“添加伪装程序集”时,我收到消息:Microsoft Fakes“不支持装配”

“不支持装配 伪装不支持此程序集。

我试过使用谷歌搜索这个消息,但得到0结果,如果我把它放在引号中,如果我没有相关的东西。我认为这很奇怪,因为你会指望别人在某个时候碰到这个问题,但无论如何...

放弃寻找邮件后,我试图寻找某处,可能会告诉我什么类型的大会微软假货支持,但这也证明是徒劳的。

我想我的问题是:有谁知道Microsoft Fakes有/不支持哪种类型的程序集。

如果有人知道为什么不支持这一特殊功能,我已经包含了一些我正在参考的程序集信息: -它是一个COM Interop程序集。 - 它是一个ActiveX组件。 - 没有强烈的名字。

任何线索都将不胜感激。

+1

你正在运行什么版本的Visual Studio(如Express/Pro/Ultimate等)?根据[这个页面](http://blogs.msdn.com/b/bharry/archive/2013/01/30/announcing-visual-studio-2012-update-2-vs2012-2.aspx)只有保费和终极支持。 – keyboardP

+0

@keyboardP是的,这一点很重要,甚至更新版本:高级版仅仅是自VS 2012更新2以来具备的功能http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2919309-provide-microsoft-fakes- with-all-visual-studio-edi –

+0

https://connect.microsoft.com/VisualStudio/feedback/details/746742/fakes-framework-is-not-available-in-vs12-premium –

回答

0

说实话,你提到的事情可能不是问题。例如伪造Excel互操作类是完全可能的(不是你可以使用它们!)。

但是,如果你看看什么东西不支持假货,比如密封类,因为存根需要继承而不允许存根,以及一些限制垫片的反射类,很明显有些类会有既不,因此允许一个dll没有虚构的组件。在那里你可以做的不多。

此外,Shims cannot be used on all types from the .NET base class library mscorlib and System.MSDN