我正在尝试为我在代码中引用的库添加 Fakes 程序集(在 Visual Studio 2012 Ultimate 中),以便我可以独立于库实现进行测试。我遇到的问题是,当我右键单击引用的程序集并单击“添加假冒程序集”时,我收到消息:
"不支持程序集
假货不支持这个程序集。”
我试过谷歌搜索这条消息,但如果我把它放在引号中,得到 0 结果,如果我不这样做,则没有任何相关性。我认为这很奇怪,因为您会期望其他人在某个时候遇到这个问题,但无论如何......
在放弃搜索消息后,我尝试搜索可能告诉我 Microsoft Fakes 支持哪些类型的程序集的地方,但这也证明是徒劳的。
我想我的问题是:有谁知道 Microsoft Fakes 支持/不支持哪些类型的程序集。
我已经包含了一些关于我正在引用的程序集的信息,以防有人知道为什么特别不支持这个程序集:
-它是一个 COM 互操作程序集。
- 它是一个 ActiveX 组件。
- 它没有强命名。
任何线索都将不胜感激。
最佳答案
老实说,你提到的事情可能不是问题。例如,完全有可能伪造 Excel 互操作类(不是说您可以使用它们!)。
但是如果你看看什么东西不支持假,比如密封类,因为 stub 需要继承,所以不允许 stub ,还有一些限制垫片的反射类,很明显,有些类两者都不支持,从而允许一个没有可伪造组件的 dll。在那里你能做的不多。
此外,Shims cannot be used on all types from the .NET base class library mscorlib and System.
说 MSDN .
关于visual-studio - 微软假货 "Assembly not supported",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17998749/