c# - 如何区分 2 个 DLL 中具有相同名称(和命名空间)的两个类?

标签 c# .net dll namespaces

我有两个 DLL - 一个 Common.dll 和一个 CFW.Infrastruct.Sdk.dll。两个 DLL 都包含以下类:

CFW.Common.Hashing.BlockHasher

我有一个引用这两个 DLL 的测试项目。当我尝试测试 BlockHasher 时,出现以下错误:

Blockhasher exists in both DLL's

我喜欢测试 CFW.Infrastruct.Sdk.dll 中的那个。因为完全限定名称是相同的,所以我无法通过“正常”使用来解决此问题。

最佳答案

External aliasses可以使用。

1。为 DLL 引用添加别名

打开解决方案资源管理器。导航到 DLL 并向其添加别名

Properties of the reference

2。引用别名

将以下内容添加到 C# 文件(必须位于顶部):

extern alias Sdk;

3.添加一些usings来区分:

我添加了使用时出现问题的类:

using BlockHasher = Sdk.CFW.Common.Hashing.BlockHasher; 
using SigningAlgorithm = Sdk.CFW.Common.Hashing.SigningAlgorithm;

4.完成!

Extern Alias Walkthrough 得到这个想法.

关于c# - 如何区分 2 个 DLL 中具有相同名称(和命名空间)的两个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632476/

相关文章:

delphi - 文档Delphi DLL导出

c# - 存储过程的执行未运行

c# - 为什么 DrawTextLayout 忽略 SharpDX 中 SetDrawingEffect 的画笔?

c# - 运行命令

.net - 捕获导致内存不足异常的位图

c++ - 从 C++ DLL 编辑 Delphi 记录

c# - 如何在 iframe 中加载网页

c# - 缓存字符串需要担心吗?

c# - 如何在母版页内的用户控件中获取内容页名称?

java - winio64.dll 中有哪些方法以及如何使用它们