2

是否有一种通用方法,无需创建和管理您自己的 CLR 主机,就可以在找不到该类型时接管定位和加载该类型?

下面只是一个例子。在您急于成为第一个答案时,不要建议使用新的插件框架或 MEF 作为我的问题的解决方案。

一个示例是带有加载项的示例。您的应用程序会读取一个文件,其中列出了用于特定功能的类型。该应用程序尝试实例化这些类型。如果它们当前尚未加载到 appdomain 中,则该方法将失败。我正在寻找一个我可以处理的事件或一个我可以提供我自己的实现的组件,这将使我能够优雅地处理这些情况并为加载这些程序集提供额外的逻辑。


据我所知(除非有人有一个有效的例子)到目前为止提到的 AppDomain 事件都不会在找不到类型时触发。


等等,显然这是有效的!不知道我之前做错了什么,但这个事件很好而且很好。

4

2 回答 2

4

您可以使用AppDomain上的事件。

您可能需要TypeResolve事件,也可能需要AssemblyResolve事件。

此外,您可以阅读有关.net 运行时如何解析程序集的更多信息,因此您可以在探测部分定义此信息。

于 2008-09-23T17:44:44.853 回答
0

仅通过使用 AppDomain 事件就不可能吗?

于 2008-09-23T17:44:55.383 回答