在撰写或使用ExportProvider.GetExportedValues方法时。抛出异常CompositionContractMismatchException。例如,我转换遗留的代码与静态工厂,所以我只是想公开那里返回值到MEF容器。MEF抛出CompositionContractMismatchException
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是我可以找到的关闭的东西,但我没有像那样的情况下重复的程序集。