带有共享类的引用DLL

时间:2017-06-26 17:32:36

标签: c# dll

这是我遇到的问题。

项目#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,只是为了简化类,即使从维护角度来看这听起来很糟糕。

1 个答案:

答案 0 :(得分:-1)

解决方案是不在解决方案中的三个不同项目中包含公共类。

如果你的两个DLL都需要引用一些公共代码,并且都不能引用另一个,那么就有一个第4个DLL,它们都具有公共代码(以及web项目)引用。

现在你只有一个类的副本,它们彼此都很好。