【发布时间】:2015-02-16 17:17:37
【问题描述】:
我可以将 MEF 程序集导入到我的主机应用程序中。但是,当导入的程序集有其他依赖项时,例如其他外部程序集,我得到一个 ReflectionTypeLoadException。
我认为我不应该在宿主项目中引用外部依赖项,但看不到如何让这些外部依赖项解析/加载。
使用 DirectoryCatalog 检索导入,其中我有导入注释的程序集。我也尝试将外部依赖程序集添加到文件夹中,但这似乎并没有让我到任何地方。代码如下:
var catalog = new DirectoryCatalog(assemblyLocation);
var container = new CompositionContainer(catalog);
var pluginRepo = new PluginRepository()
{
TestAdaptors = container.GetExportedValues<ITestAdaptor>()
};
foreach (var testAdaptor in pluginRepo.TestAdaptors)
{
testAdaptor.Execute();
}
我应该使用其他方法吗?如何加载这些外部依赖项?
【问题讨论】:
-
不将这些引用添加到项目帮助中吗?
-
没有 Srikanath,正如我在问题中提到的,我特别不想在 Host 项目中引用这些程序集。我希望他们与他们的导出程序集一起来
标签: mef