MEF DirectoryCatalog不会加载,但AssemblyCatalog会加载

时间:2014-02-12 16:27:56

标签: c# plugins dll mef

我有一个装满DLL的文件夹,其中一些实现了我的合同,所以我试着像这样加载它们:

var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new DirectoryCatalog(this.dllFolder));

当它找到一个带有我的界面的DLL时,它会抱怨它无法在DLL中找到get_Name。我的接口定义了一个带有getter而没有setter的Name属性,DLL实际上实现了它。

使用这些目录的属性是否有一些技巧?作为一个临时的解决方法我正在这样做,这看起来确实有效(并且我能够从其余的代码中很好地访问Name属性)

        var dlls = Directory.EnumerateFiles(this.dllFolder, "*.dll");
        foreach (var dll in dlls)
            catalog.Catalogs.Add(new AssemblyCatalog(Assembly.LoadFile(dll)));

0 个答案:

没有答案