【问题标题】:Fixing 'Error class is ambiguous in the namespace' keeping its ambiguity underneath修复“名称空间中的错误类不明确”,使其不明确
【发布时间】:2014-04-22 17:17:38
【问题描述】:

我知道,已经被问过好几次了,对于一个常见的情况,我也有解决方案。所以请不要投票关闭/删除。首先阅读它,然后决定是否真的需要删除它。

实际上,我的情况是我有一个包含 100 多个项目的现有解决方案,我从中挑选两个单独的项目,称为 Project1Project2。这两个项目都有一些通用类,如 clsPatient、clsServices、clsCoverage 等。此外,所有项目中的各种模块的名称空间都保持一定程度的通用性。就像所有实体一样,我们有 CompanyName.Project.Entities,DAO - CompanyName.Project.DAO,BO - CompanyName.Project.BO 等等。

现在出现了一种情况,我必须在名为 Project3 的新项目中使用 Project1 和 Project2 中都存在的实体类,但在这里它开始给我编译时错误 'ClassName' is ambuguous in 'Namespace'。我只想知道有什么方法可以从特定的 dll 中调用特定的类。 请注意,所有引用均采用 Dll 而非项目引用的形式,我想保持歧义,因为我不想更改构建顺序或项目引用。它会变得一团糟。

我试过 Import abc = xyz.prs 但它也不起作用。

有什么办法吗??????

【问题讨论】:

    标签: vb.net visual-studio-2010 compiler-errors namespaces


    【解决方案1】:

    您将需要使用完全限定的命名空间,即从根命名空间的开头一直使用。例如。 Project1.First.Second.Third.ClassNameProject2.First.Second.Third.ClassName.

    【讨论】:

    • 你的两个命名空间是什么?如果它们完全相同,那么在同一个命名空间中不能有两个具有相同名称的类。
    • 没错,这两个命名空间是 project1 和 project 2 的 Acc.Biz.Actions。同样在对象浏览器中,我可以看到 Class1 和 Class1 (1.0.0.0) 。我的解决方案结构是 root->Bin->Website->Projects->Project1, Project2... Project100。所有项目都是仅带有用户控件的 Web 应用程序,并且它们的 bin 目录重定向到应用程序根 bin 目录,所有其他 dll 都在该目录中生成。
    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 2018-10-23
    • 2023-03-12
    相关资源
    最近更新 更多