我有一个装满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)));