【问题标题】:CS0436 compiler warning with a shared project共享项目的 CS0436 编译器警告
【发布时间】:2016-11-20 13:55:20
【问题描述】:

我们有两个由几个项目组成的解决方案(C#、VS2015)。 具有命名空间 Wpf 的 Basic-Solution 有一些类在命名空间 Wpf.Advanced 中的更高级 - 解决方案中重写,因为更高级的解决方案使用不同的数据类型例如。

由于两个解决方案中都存在的一个类中的每个代码更改都需要在第二个文件中重写,因此我们决定更改结构并使用共享项目作为两个解决方案的文件应位于的单一位置。

我们现在使用“usings”与预编译器 #if #else #endif 块结合,通过根据项目更改数据类型(通过编译符号 >高级)。

现在问题来了:

由于我们的一些示例项目需要同时引用 Wpf 和共享项目,因此我们会收到上述警告 CS0436,因为某些对象现在存在于共享项目中项目和命名空间 Wpf

我该如何解决这个问题? 我的意思是,一切正常,但没有警告比任何警告都好,谢谢!

【问题讨论】:

    标签: c# .net dependencies compiler-warnings shared-project


    【解决方案1】:

    我也遇到过类似的情况。在 exe 项目中,我引用了 dll 和共享项目。 dll 反过来又引用了共享项目。解决方案是从 exe 项目中排除共享项目。由于共享项目是从 dll 中引用的,因此 exe 也会获取所有这些项目。
    除非您没有共享项目的经验,否则它可能看起来微不足道。

    【讨论】:

      【解决方案2】:

      NamespaceName2 中的命名空间NamespaceName1NamespaceName3 中的TypeName1 类型冲突

      当导入的类型和导入的命名空间具有相同的完全限定名称时会发生此错误。当引用该重复名称时,编译器无法区分两者。

      【讨论】:

        猜你喜欢
        • 2018-04-09
        • 1970-01-01
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多