1

问题:

我有两个项目。第一个命名为Studio,第二个命名为Worker,它是一个类库。Worker项目引用了一些第三方程序集,如 Ecng.Common、Ecng.Data 等。

当我尝试通过 MEF在Studio中加载Worker时,MEF 抛出异常:

找不到文件或程序集 Ecng.Transactions

但是Worker for Ecng.Transactions中没有项目参考。工人在没有它的情况下工作。

我需要做什么来解决这个问题?

编辑1:

var catalog = new AggregateCatalog(); 

foreach (var nameAndPath in robotsDirectory) 
{ 
  catalog.Catalogs.Add(new DirectoryCatalog(nameAndPath.Value)); 
} 

var container = new CompositionContainer(catalog);

container.ComposeParts(this); // Here i have Exception 
4

1 回答 1

0

Worker 引用的任何程序集是否引用了 Ecng.Transactions?您可以使用DotPeek或 Visual Studio 对象资源管理器等工具来解决这个问题

你什么时候收到错误?

  1. 当 MEF 为 MEF 导出标签解析 Worker 程序集时?或者
  2. 当您尝试在 Worker 中加载特定类时?
于 2013-06-24T15:26:42.553 回答