【发布时间】:2019-02-11 14:26:18
【问题描述】:
我只想从给定的 dll 中加载一些类。 问题如下:
我有以下 dll 文件。
DLL 1:
命名空间:
- 1 类
- 2 类
DLL 2:
命名空间:
- 2 类
- 3 级
如上面的示例所示,有可能并且很可能会发生我有 2 个甚至更多的 dll 中具有相同类的情况。 (注意命名空间是一样的)
现在我想到了以下几点:
- 在 Temp AppDomain 中打开一个 dll
- 检查哪些类我们不知道
- 将所需的类移至标准 Appdomain
- 卸载临时应用域
有什么办法可以做这样的事情吗?
【问题讨论】:
-
你问的是后期绑定吗?我有一个系统,我在后期绑定了一个 DLL(一个主 VB.net 项目,该项目后期从一个用 C# 编写的项目中绑定了一个 DLL),然后我们在该 DLL 中通过字符串名称调用一个函数来开始滚动(它是一个自动电话系统)。
-
这些 dll 是否在您的控制之下?
-
@Fildor 每个 dll 都是由我完全控制的程序自动生成的
-
尝试使用extern alias 这个帖子可以帮助stackoverflow.com/questions/3672920/…
-
你什么时候知道你需要哪个版本的冲突类(上面示例中的 Namespace.Class2)....直到运行时?