c# - 我可以拆分 .net DLL 而不必重新编译引用原始 DLL 的其他 DLL 吗?

标签 c# .net dll runtime late-binding

我有一个 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/

相关文章:

c++ - LNK2019 在某些类函数上,但在其他类函数上没有(dll 中的模板类)

c# - .NET 代理检测

c# - asp.net mvc 3 模型绑定(bind)下拉列表

c# - ASP 无法加载资源 : the server responded with a status of 404 (Not Found) error in server

asp.net - 使用LINQ从数据库中查找附近的地方

c# - 以编程方式拍摄(远程)网页的屏幕截图

java - 有人可以指出我做错了什么吗?尝试使用 JNA 将 VB 映射到 Java 来访问该库

c# - 如何在库上设置运行时绑定(bind)重定向

c# - 基于 asp.net mvc 和 azure Active Directory 安全组的授权

c# - C#中的核心类是什么?