gpt4 book ai didi

c# - 模拟 Microsoft DLL

转载 作者:太空狗 更新时间:2023-10-29 18:21:00 27 4
gpt4 key购买 nike

我有一个引用 Microsoft DLL(Exchange Web 服务)的应用程序。在我的单元测试中,我想用 Mock 替换 Microsoft DLL。

什么适用于其他 DLL,不适用于此 DLL,因为我遇到异常

The located assembly's manifest definition does not match the assembly reference

我验证它具有相同的程序集版本,但我看到 Microsoft DLL 是数字签名的,因此它有一个 PublicKeyToken。这可能是我的应用程序正在寻找的吗?类似签名的 DLL?

有没有一种方法可以在不需要其 publickeytoken 的情况下引用 DLL?

谢谢

最佳答案

您不能模拟已签名的 DLL。 (如果可以的话,你会被黑手党雇用...)

模拟访问此 dll 中代码的代码。

创建一个外观(如果您没有),它包装对 Exchange dll 中的方法的访问。然后在您的测试中,您可以提供一个模拟外观。

通过外观/包装器保护您的代码免受任何第三方代码(程序集、Web 服务、控件)的影响是一个很好的设计实践。这最大限度地降低了第三方代码更改时的影响风险,即。升级到更新版本的 dll(所需的更改只会影响外观)并帮助测试。

关于c# - 模拟 Microsoft DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5316704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com