如果同一名称空间中的两个类包含在C#中的两个不同库中,该怎么办

log*_*eks 3 .net c# class-library

我有一个程序(主应用程序,由遗留代码组成),它使用一个库.遗憾的是,主应用程序和库都使用了一个名为(具有相同名称和相同属性)的类Softwares.SoftwareXSD.当我使用里面定义的类时Softwares.SoftwareXSD,主程序抱怨模棱两可.但是,Visual Studio表示,通过在类名下显示绿色下划线,可以在复制品中进行选择.我相信这不是一个好方法.

这有什么问题吗?这种情况的最佳解决方法是什么?

问题是XSD中的某些类特定于主应用程序,而某些类特定于库,但这些类使用引用相互链接.

Joe*_*Joe 9

如果我理解你的问题,你有两个Softwares.SoftwareXSD不同程序集(主应用程序和库)的类,它们的完全限定名称是相同的.

要解决此问题,请转到Visual Studio中的解决方案资源管理器,展开"引用",右键单击对库的引用并选择属性.

在"别名"中,用其他别名替换"全局",例如"库".

您现在可以消除引用的歧义,如下所示:

global::Softwares.SoftwareXSD // is in the main application
library::Softwares.SoftwareXSD // is in the library
Run Code Online (Sandbox Code Playgroud)

不过,我仍然建议你为你的课程选择唯一的名字.