命名空间类冲突

wat*_*rif 4 c# namespaces pointer-aliasing

首先,我知道这是因为库不好,但我没有代码让他们解决这个问题.

XXX.dll在全局命名空间中包含类Util.Util.dll具有命名空间Util.

当我包含两个.dll时,我不能使用Util命名空间(错误1'..\Util.dll'中的命名空间'Util'与'\ XXX.dll'中的'Util'类型冲突).

因为两者都在全局命名空间中,所以我看不到别名如何解决这个问题.

什么是最好的解决方案?现在我知道我可以创建另一个.proj,它不包括我需要的.dll和包装类.但这不容易做到;(

Jon*_*eet 11

您应该能够使用extern别名 - 它们允许您有效地限定您的意思是哪个程序集的引用.Anson Horton 对他们进行了很好的演练.


Mue*_*epe 9

是的,有一个解决方案可以解决您的问题.转到References引用两个程序集的项目中的子文件夹.对于具有全局Util右键单击的组件并按Properties.Aliases你应该拥有的财产global.例如更改为DLL1或等等.现在,如果您想Util在文件中使用global ,请在using语句之前添加以下内容:

extern alias DLL;

现在你可以Util像这样使用全局DLL.Util