MEF2强类型元数据(System.Composition)我在新的ASP.NETMVC4项目中使用MEF的System.Composition命名空间在Web上使用NuGet包和Windows应用商店。我读到在MEF2中您不再使用Lazy,但现在您必须为元数据视图提供具体类型(并且可能使用ExportFactory而不是Lazy?)。但是,我找不到任何关于它如何工作的例子——只提到使用具体类型而不是接口。我尝试了一些方法,但不断收到以下错误-“缺少‘AccountID’的导出元数据并且未提供默认值”。我的代码……创建容器(在Global.asax或App_Start文件夹中)://获取将提供导入和导出的程序集varassemblies=GetAssemblies();//获取将用于查找导入和导出的约定varconventions=GetConventions();varcontainer=newContainerConfiguration().WithAssemblies(assemblies,conventions).CreateContainer();//创建并应用MefControllerFactory,以便可以组合控制器ControllerBuilder.Current.SetControllerFactory(newMefControllerFactory(container));GetConventions()方法:privatestaticConventionBuilderGetConventions(){varconventionBuilder=newConventionBuilder();conventionBuilder.ForTypesDerivedFrom().Export();conventionBuilder.ForTypesDerivedFrom().Export();conventionBuilder.ForTypesMatching(t=>t.Namespace!=null&&t.Namespace.EndsWith(".Parts")).Export().ExportInterfaces();返回约定生成器;}IExtension.cs:publicinterfaceIExtension{voidDoWork();}ExtensionMetadata.cs:publicclassExtensionMetadata{publicintAccountID{get;放;}}ExtensionA.cs(与ExtensionB.cs相同):publicvoidDoWork(){System.Diagnostics.Debug.WriteLine("ExtensionAdoingwork..");}ExtensionManager.cs:公共类ExtensionManager{privateIEnumerable
