我有一个 C# 项目,它构建到一个包含两个类(ClassA 和 ClassB)的 DLL 中。出于项目管理的原因,我想将 ClassB 移动到一个单独的 DLL 中,而只保留带有 ClassA 的原始 DLL。
问题是我有其他 DLL(也是从 C# 编译的)在其原始 DLL 中引用 ClassA 和 ClassB。 ClassA 没问题,但调用 ClassB 以 TypeLoadException 结束。
(我可以使用新项目引用重新编译所有其他 DLL,但出于项目管理原因,我宁愿不这样做。)
有没有一种方法可以部署新的拆分 DLL 并让其他 DLL 继续工作?或者,我真的需要硬着头皮计划部署所有这些文件的新版本吗?
最佳答案
您可以使用类型转发 来实现这一点。这允许将类型移动到另一个程序集。在原始程序集中,您添加了一个 TypeForwardedTo
属性以表示该类型已被移动。
查看此 link获取详细信息。
关于c# - 我可以拆分 .net DLL 而不必重新编译引用原始 DLL 的其他 DLL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47635419/