【问题标题】:Namespace class conflict命名空间类冲突
【发布时间】:2012-01-04 09:30:34
【问题描述】:

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

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

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

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

什么是最好的解决方案?现在我知道我可以制作另一个 .proj,它不会同时包含我需要的 .dll 和包装类。但这并不容易;(

【问题讨论】:

    标签: c# namespaces


    【解决方案1】:

    您应该能够为此使用extern aliases - 它们允许您有效地限定您所指的程序集的引用。 Anson Horton 为他们提供了一个很好的walkthrough

    【讨论】:

      【解决方案2】:

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

      extern alias DLL;

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

      【讨论】:

        【解决方案3】:

        您将需要使用“外部别名”语言功能。查看 Anson Horton 的 this 博客文章。

        (或者只看乔恩的回答。)

        【讨论】:

          【解决方案4】:

          upgrading a DevExpress project 时也可能出现此错误

          1. 关闭Visual Studio
          2. 通过清除以下文件夹来清除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\
            • 重启World Wide Web Publishing服务(开始菜单\设置\控制面板\管理工具\服务)。
          3. 如有必要,清除项目的 BinObj 文件夹并部署新程序集;

          4. 重建您的应用程序

          【讨论】:

          • 这不是一个构建错误,这是一个无法通过重新构建解决的名称冲突。
          • @watbywbarif - 我理解你的意思,但有时由于.dlls 的旧版本未删除而引发此错误。我只是简单地介绍了这种情况。我今天已经针对同样的错误测试了这些步骤
          • 这是一个问题,我这样做是为了解决这样的问题。
          • @Greg 我建议您将此作为建议添加到我由editing it撰写的答案中
          【解决方案5】:

          解决此问题的另一种方法...文件夹中的类文件将从文件夹名称继承其命名空间。确保您添加的任何文件夹在同一项目的根目录中没有对应的文件名。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-07-01
            • 2021-11-22
            • 2010-09-20
            • 2014-04-30
            • 2013-01-26
            • 2010-11-15
            • 2012-12-18
            相关资源
            最近更新 更多