这是我遇到的问题。
项目#1 - DLL
- 包含SomeCommonFile.cs文件,包含多个类
项目#2 - 不同的DLL
- 包含SomeCommonFile.cs文件,包含多个类
项目#3 - 网络服务
- 包含SomeCommonFile.cs文件,包含多个类 - 包括对两个DLL文件的引用。
所以我在项目#3中输入了很好的DLL,在引用上放了别名,在相关代码文件的顶部放了“extern alias”。
但是在Project#3编码时出现了问题:SomeCommonFile.cs中的每个类都有三个版本 - 每个版本一个,一个版本#3。是否有任何简单的方法来构建它,以便我不必在整个地方都有转换函数(将Project1DLL.CommonClasses.MyClass转换为WebService.CommonClasses.MyClass等)?在这一点上,我正处于链接项目#1和#2的代码文件而不是他们的DLL,只是为了简化类,即使从维护角度来看这听起来很糟糕。
答案 0 :(得分:-1)
解决方案是不在解决方案中的三个不同项目中包含公共类。
如果你的两个DLL都需要引用一些公共代码,并且都不能引用另一个,那么就有一个第4个DLL,它们都具有公共代码(以及web项目)引用。
现在你只有一个类的副本,它们彼此都很好。