在撰寫或使用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是我可以找到的關閉的東西,但我沒有像那樣的情況下重複的程序集。