延迟加载 .net 插件 dll

3
我有一个C# .Net 2.0CF应用程序,我想在运行时加载一个.NET“插件”DLL。
据我所知,我应该能够使用System.Reflection.Assembly.LoadFrom()将DLL加载到程序集中。然后使用Assembly.GetTypes()获取插件内的类型列表,以将它们与我的期望接口匹配。
问题在于,当我调用GetTypes()时,会出现System.TypeLoadException()异常。根据异常消息,我认为这是因为这个特定的插件引用了一些程序不知道的其他程序集。但是,这正是插件的一部分!我不希望我的应用程序必须了解这些其他程序集。
如何在没有让我的应用程序引用插件中使用的每个程序集的情况下加载此插件DLL?
谢谢, PaulH

你不必让你的应用程序引用插件中使用的每个程序集,但你可能需要加载它们。 - Rob
1个回答

2

情况并非是你的应用程序应该引用插件使用的每个程序集。插件引用另一个DLL,而不是你的应用程序,插件应该与它需要的一切一起“安装”(可能只需放在一个目录中)。这是不可避免的。


就是这样。一个插件DLL的依赖项丢失了。谢谢! - PaulH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接