3

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

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

我们现在将“usings”与预编译器#if #else #endif块结合使用,通过根据项目更改数据类型(通过编译符号ADVANCED)将两个文件合并为一个。

现在解决问题:

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

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

4

2 回答 2

1

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

于 2018-07-10T09:40:18.540 回答
0

命名空间NamespaceName1与类型NamespaceName2冲突TypeName1NamespaceName3

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

于 2017-04-17T09:49:53.397 回答