草庐IT

c# - 导入属性始终为空(MEF 导入问题)

我尝试了一段时间使用MEF来完成工作,但现在,我遇到了一个问题,我需要帮助。描述:我有2个DLL和一个EXE文件。ClassLibrary1(LoggerImpl.cs,SomeClass.cs)类库2(ILogger.cs)WindowsApplicationForms1(WindowsApplicaitonForms1.cs,Program.cs)我需要任何帮助或指导,为什么这不起作用?//ClassLibrary1.dll//SomeClass.cspublicclassSomeClass{[Import("Logging",typeof(ILogger))]publicILog

c# - 在 MEF 组合期间处理 ReflectionTypeLoadException

我在MEF中使用DirectoryCatalog来满足我应用程序中的导入。但是,当我尝试编写目录时,目录中有时会出现混淆程序集,导致ReflectionTypeLoadException。我知道我可以通过使用单独的目录或在DirectoryCatalog上使用搜索过滤器来绕过它,但我想要一种更通用的方法来解决问题。有什么方法可以处理异常并允许合成继续吗?或者还有其他更通用的解决方案吗? 最佳答案 为了避免其他人编写他们自己的SafeDirectoryCatalog实现,这是我根据WimCoenen的建议想出的一个:publiccla

c# - MEF构造函数注入(inject)

我正在尝试找出MEF的构造函数注入(inject)属性。我不知道如何告诉它加载构造函数的参数。这是我要加载的属性[ImportMany(typeof(BUsers))]publicIEnumerableLoadBUsers{get;set;}这是我用来导入程序集的代码。try{varcatalog=newAggregateCatalog();catalog.Catalogs.Add(newAssemblyCatalog(System.Reflection.Assembly.GetExecutingAssembly()));catalog.Catalogs.Add(newDirector