visual-studio - 微软假货 "Assembly not supported"

标签 visual-studio visual-studio-2012 microsoft-fakes

我正在尝试为我在代码中引用的库添加 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/

相关文章:

c# - MathUtilities C# 异常处理

c# - 使用 MSTest 和 Fakes (Shim) 填充 .Net System.Windows.Forms.Screen 构造函数以进行单元测试

c++ - Visual Studio C++ 2012 和 2017 在随机数生成中显示不同的行为?

c# - Epplus 调用目标抛出异常

visual-studio - Resharper 相当于 CodeRush 的 "Tab"快捷方式(转到下一个/上一个用法)

visual-studio-2012 - 如何在 IncrediBuild for Visual Studio 2012 中禁用 "Latest News"选项卡?

c++ - 如何构建在所有机器上表现相同的 exe

c# - 我可以看到给编译器的命令来构建项目吗?

c# - 用于通用方法的 Microsoft Fakes shim

c# - 在构建服务器上使用 Fakes 异常运行单元测试