MEF部分的依赖性

时间:2012-08-06 07:38:03

标签: c# .net mef

我有关于MEF的问题。实质上:

assembly my.main {
  class Main {
    <Import>
    Lazy<IMyType> prop;

    public static void Main(...) {
      ComposeParts(this);
      prop.DoStuff();
    }
  }
}

assembly my.interfaces {
  interface IMyType {
    void DoStuff();
  }
}

assembly my.parts {
  using 3rdParty;
  <Export>
  class MyType : IMyType {
    void DoStuff() {
      3rdParty.DoStuff();
    }
  }
}

my.main my.parts 引用 my.interfaces 程序集。除此之外, my.parts 程序集引用了第三方.dll,而我的另外两个没有。当我尝试执行上述操作时,在调用 prop.DoStuff()时会在 Main()中抛出 CompositionException ,并显示该类消息无法找到 3rdParty

换句话说,注入MEF部分,但不需要注入/复制它所需的DLL。

有没有人知道这个问题的解决方案或解决方法?

1 个答案:

答案 0 :(得分:1)

在执行期间,3rdParty程序集文件显然不与my.parts程序集(或加载程序探测的任何其他位置)位于同一目录中。