1

我正在使用 ninject xml 扩展来为同一个可执行文件(插件)配置不同的 DAL。我的想法是将所有这些(DLL)与 ninject xml 文件一起放在主应用程序的子文件夹中。

问题是ninject 在xml 中找不到引用的绑定。仅当我将 dll 复制到主应用程序 (.exe) 的同一文件夹时,它才有效。

我试图在加载内核之前加载 dll

Assembly assembly = Assembly.LoadFrom(dll);
AppDomain.CurrentDomain.Load(assembly.GetName());
Kernel.Load(xmlFile);

但还是不行。(错误:“无法解析在 'to' 属性中定义的类型 'MyType'”

有人知道在 ninject-xml 文件中引用具体文件夹或从另一个文件夹加载类型的方法吗?可以使用 ninject-xml 扩展名解决?

4

2 回答 2

0

约定扩展可能会通过根据存在的 DLL 加载绑定来解决问题吗?如果没有,您能否更详细地解释您的问题?

于 2012-11-15T15:40:02.823 回答
0

我用配置文件中的“探测”元素解决了这个问题。它包括分辨率范围内的文件夹。

<runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="Plugins"/>
      </assemblyBinding>
 </runtime>

更多信息在这里

谢谢大家。

于 2013-01-14T11:08:34.910 回答