首先,我知道这是因为库不好,但我没有代码让他们解决这个问题。
XXX.dll在全局命名空间中包含类Util。 Util.dll具有命名空间Util。
当我包含两个.dll时,我无法使用Util命名空间(错误1'.. \ Util.dll'中的命名空间'Util'与'\'\ _XDX.dll'中的'Util'类型冲突。)< / p>
因为两者都在全局命名空间中,所以我看不到别名如何解决这个问题。
最佳解决方案是什么?现在我知道我可以创建另一个.proj,它不包括我需要的.dll和包装类。但这不容易做到;(
答案 0 :(得分:11)
您应该可以使用extern aliases - 它们允许您有效地限定您所指的程序集的引用。 Anson Horton为他们提供了很好的walkthrough。
答案 1 :(得分:9)
是的,有一个解决方案可以解决您的问题。转到引用两个程序集的项目中的References
子文件夹。对于使用全局Util
右键单击的程序集,然后按Properties
。在Aliases
属性中,您应该global
。例如将其更改为DLL1
或其他。现在,如果您想在文件中使用全局Util
,请在using
语句之前添加以下内容:
extern alias DLL;
现在,您可以使用Util
DLL.Util
答案 2 :(得分:1)
您需要使用“extern别名”语言功能。查看Anson Horton撰写的this博客文章。
(或者只看Jon的回答。)
答案 3 :(得分:1)
upgrading a DevExpress project
时,此错误也可能会显示=RANGENAME(AB23)
通过清除以下文件夹清除Visual Studio
目录:
Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\
C:\Users\[your_user_name]\AppData\Local\Temp\Temporary ASP.NET Files\
服务(开始菜单\设置\控制面板\管理工具\服务)。清除项目的 Bin 和 Obj 文件夹,并在必要时部署新程序集;
答案 4 :(得分:0)
修复此问题的另一种方法...文件夹中的类文件将从文件夹名称继承其命名空间。确保您添加的任何文件夹在同一项目的根目录中没有相应的文件名。