我们有很久以前的.NET 2.0源代码,如下所示:
DirectoryCatalog catalog =
new DirectoryCatalog(Path.Combine(Path.Combine(applicationDirectory, providersDirectory), providerSubdirectory));
CompositionContainer container = new CompositionContainer(catalog);
CompositionBatch batch = new CompositionBatch();
batch.AddPart(this);
batch.AddExportedObject(container);
container.Compose(batch);
多年来一直运行良好,但在将visual studio和框架升级到.NET 4.0之后,MEF似乎不再支持AddExportedObject
的调用。
答案 0 :(得分:0)
您可以阅读here,
虽然
CompositionBatch
本身不包含AddExportedObject<T>
有一种扩展方法。扩展方法在 rootSystem.ComponentModel.Composition
命名空间,以确保您 包括在你的文件的using语句中。如果你不能得到 扩展方法工作你总是可以直接调用方法AttributedModelServices
。