我正在开发一个使用非常简单的插件结构的类库 - 简单地开始为每个插件创建新的appdomains。这是文件夹结构:
Bin
Modules
Plugins.dll
Main.dll
Library.dll
在运行时期间,我使用Reflection加载Plugins.dll中的类型。我想将我在Library.dll中创建的一个对象传递给Plugins.dll中的一个类。但是在MethodInfo调用行上,例如
pMi.Invoke({My Own Objects()})
它给我一个FileNotFound异常,因为它找不到Library.dll。告诉我的库查看汇编的父文件夹的最佳方法是什么?
感谢您的帮助。
答案 0 :(得分:1)
在构建新的应用程序域时,您将什么设置为ApplicationBase和PrivateBinPath? 简单地将应用程序基础保留为“Bin”并将模块作为PrivateBinPath应该是足够的但不知道你是如何做到的我不能给你一个明确的答案。
顺便说一句,您是否有任何理由不使用MEF中的基本AddIn模型? (你可以使用System.AddIn而不需要完整的MEF铃声和口哨声)