我正在与MEF的组合物的容器和目录的目录,其中我通过在一个完整路径包含组件的文件夹的奇怪的问题:
在C:\ Program Files文件\ MyCompany的\ MyApp的\ BIN
AssemblyA:ExportedTypeA,ExportedTypeB
AssemblyB:BaseExportedTypeA,BaseExportedTypeB
从另一个位置执行(C:\用户\我\ dev的\项目\富\酒吧\ BAR2 \ BIN \调试\ OtherApp.Exe)
在应用我称之为:
string ProviderPhysicalPath = @"C:\Program Files\MyCompany\MyApp\Bin";
using (DirectoryCatalog catalog = new DirectoryCatalog(ProviderPhysicalPath))
using (CompositionContainer container = new CompositionContainer(catalog))
{
container.ComposeParts(this);
}
在container.ComposeParts(this)
我得到以下异常:
该组合物生产的单一组合物的错误。 根本原因如下。 查看更详细的信息,CompositionException.Errors财产。
1)无法找到路径的一部分, 'C:\用户\我\ dev的\项目\富\酒吧\ BAR2 \ BIN \ DEBUG \ BIN \'。
什么是令人困惑的是两个部分:
- 为什么找一个目录中我没有指定?
- 为什么它追加\ BIN \到执行目录做呢?
是不是我做错了吗?