【发布时间】:2014-10-11 17:41:04
【问题描述】:
在编写或使用 ExportProvider.GetExportedValues 方法时。抛出异常 CompositionContractMismatchException。我正在转换带有静态工厂的遗留代码,所以我只是想将返回值公开给 MEF 容器。
namespace fooProject
{
static class SomeExportFactory
{
[Export(typeof(IFoo))]
public static FooImp Generate()
{
return new FooImp();
}
}
}
因此,这个简单的插图将引发异常,并显示以下消息“无法将类型 'fooProject.SomeExportFactory.Generate (ContractName="IFoo")' 的基础导出值转换为类型 'IFoo'。”输入“IFoo”。]。
有什么可能导致这种情况的猜测吗?我已经搜索了互联网,CompositionContractMismatchException when trying to use MEF with MVC controller 是我能找到的最接近的东西,但我没有像这种情况下那样重复的程序集。
【问题讨论】: