是否有一种通用方法,无需创建和管理自己的 CLR 主机,即可在未找到该类型时接管定位和加载该类型?
以下只是一个示例。如果您急于成为第一个答案,请不要建议使用新的加载项框架或 MEF 作为我的问题的解决方案。
一个示例是带有加载项的示例。您的应用程序读取一个文件,其中列出了用于特定函数的类型。该应用程序尝试实例化这些类型。如果它们当前尚未加载到应用程序域中,则该方法将失败。我正在寻找一个我可以处理的事件或一个我可以提供自己的实现的组件,这将使我能够优雅地处理这些情况并提供用于加载这些程序集的附加逻辑。
据我所知(除非有人有一个有效的示例),当未找到类型时,到目前为止提到的 AppDomain 事件都不会触发。
显然,等等this is working !不确定我之前做错了什么,但这个事件进展顺利。
最佳答案
AppDomain 有事件您可以使用。
您会想要 TypeResolve事件,可能还有 AssemblyResolve事件。
此外,您还可以阅读有关 .net runtime resolves assemblies 如何进行的更多信息。 ,因此您可以在探测部分定义此信息。
关于.net - 如何在运行时向类型解析添加额外的逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/122544/