首页 > TAG信息列表 > MEF

C# MEF 通用插件框架

首先看下接口约定: namespace PluginContract { public interface IPlugin { string Name { get; set; } void SayHello(); } public interface IPluginMark { string Mark { get; } } } 自动加载插件类: public class Plug

C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面

01 —   前言         MEF是微软自家的托管可扩展框架,在这里我把它用成了ioc容器。在Caliburn.Micro框架下,view和viewmodel被注入到CompositionContainer容器中,然后通过名称可以实现view和viewmodel的匹配。利用这一特点,在多人合作项目开发中,一个解决方法就可以拆分成很多个

[PLC]ST语言四:INV_MEP_MEF_PLS_PLF_MC_MCR

一:INV_MEP_MEF_PLS_PLF_MC_MCR 说明:简单的顺控指令不做其他说明。 控制要求:无 编程梯形图: 结构化编程ST语言: (*运算结果的反转INV(EN);*) M415:=inv(M16); (*运算结果的上升沿时为ON MEP(EN);*) SET(MEP(M17),M416); (*运算结果的下降沿时为ON MEF(EN);*) RST(MEF(M18)

2016年SDN/NFV开源三大趋势

在软件定义网络(SDN)和网络功能虚拟化(NFV)开源工作的头几年,开源工作的目标相对模糊,但今年开源工作的进展有了3个明显的趋势。首先,CORD项目变得越来越受业界的欢迎。CORD项目在2016年受到很多关注,该项目的发起人是ON.Lab的开放网络操作系统(ONOS),将CORD独立成为一个单独的开源项目。其次,

二氧化硅包覆的银纳米颗粒AgNPs作为MEF材料检测四环素类抗生素

Tc是一种广谱四环素类抗生素。Tc广泛用于动物疾病的预防和治疗。但是滥用会严重影响人体健康。近年来有许多方便快速的方法如微生物检测,物理化学方法,免疫测定等用于Tc残留物的检测。然而这些方法或多或少存在着特异性差、仪器价格昂贵、操作复杂、使用成本高等问题。本文合成了

.NET core下的MEF

Managed Extensibility Framework(MEF)通常用来开发可扩展的UI程序,在.net的历史上,出现过两个版本的MEF,我们一般把它称为MEF v1和MEF v2。 MEF V1 MEF V1最初是.net framework 4.0中引入的,出现的比较早,功能比较强大,网上对它的介绍不少。 我开发复杂点的UI程序经常使用到它,之前在文章.

MEF(Managed Extensibility FrameWork) API

作用:创建可扩展的轻量级应用程序的库。可以让扩展在程序内重复使用,还可以跨程序重复使用。 导出Export:把部件放到容器中,供其它部件使用。 导入Import:把部件从容器中拿出来使用。 导入和导出必须具有相同的约定:协定类型参数   &&  协定名称参数 隐式协定:协定类型参数和协定名称

C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻。如果没有看过前面的文章,请到我的博客首页查看。   前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要采用分层架构,就拿最简单的三层架构来说吧,我们通常把业务逻辑写在DLL中,现在

C#可扩展编程之MEF学习笔记(五):MEF高级进阶

好久没有写博客了,今天抽空继续写MEF系列的文章。有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后。 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用的基本已经讲完了,相信大家已经能看出MEF所带来的便利了。今天就介绍一些MEF中一些较为

c#-使用MEF Preview 5导入具有特定元数据的零件

我在MEF预览5中定义了如下导出 [ExportMetadata("Application", "CheckFolderApplication")] [Export(typeof(ExtendedArtifactBase))] public class CheckFolderArtifact2 : ExtendedArtifactBase { ... 然后,我只想要带有“应用程序”“ CheckFolderApplication”元数据的导入.

CodeGo.net>如何使用MEF(托管扩展框架)从目录中加载DLL

我目前正在与MEF合作,并且遇到一些问题 我想要的是从目录加载dll. 首先,我扫描目录并将两件事保存在字典中 来自各个DLL的Name属性(作为字符串) 和模块名称(作为字符串) 这是ScanDirectory()代码 private void ScanPluginDirectory() { catalog = new AggregateCatalog();

c#-MEF导入组成问题

我已经阅读了有关在不导出包含类的情况下导入导入的所有问题,但是找不到解决方案.有人知道实现我想要做的事情的方法吗? 我的模块程序集具有内部使用的形式和类.这些表格需要访问某些导出的合同,但由于它们不在MEF“组成树”中,因此未加载导入 主机组装: public class Host { pu

可以更改MEF创建导入对象的方式吗?

我想使用MEF查找扩展名,但要负责将其创建到Ninject或自定义工厂.那可能吗?解决方法:见文章: Glenn Block撰写的“ MEF的出口提供商和定制工厂”http://codebetter.com/blogs/glenn.block/archive/2008/11/30/export-providers-and-custom-factories-with-mef.aspx. 您可以阅读一些有

CodeGo.net>如何获取导入的MEF功能的汇编信息?

是否可以从导入的MEF函数获取装配信息?我需要知道程序集的版本和包含该功能的插件控件的名称.尝试了以下操作,但它仅返回System.ComponentModel.Composition版本. foreach (Lazy<Func<int>, IMetadata> func in PluginFuncs) { // get assembly information of the Plugin cont

CodeGo.net> MEF一一加载DLL

我正在尝试使用MEF在需要时加载DLL,但是,我阅读的教程中的信息并不是最有用. This site提供了一些代码(如下所示),但并没有真正解释任何内容. private void LoadPlugins() { var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly()); var container = new Compos

c#-MVC中的MEF和嵌入式视图

我有一个使用MEF的控制器的MVC应用程序,一切正常. http://bryanavery.co.uk/post/2012/03/12/Using-MEF-in-MVC-3.aspx 但是我现在要下一步,将视图嵌入到DLL中,并让MEF为MVC注入视图. 我有一个DLL集合,其中包含应用程序所需的不同视图. 我正在使用Razor,不是那应该有很大的不同,有

c#-使用带有目标对象信息的MEF注入对象

我正在寻找一种注入记录对象的方法,该方法使用MEF将log4net记录器包装到各种对象中.我目前遇到的问题是,日志记录对象需要它所属的对象的类型.我可以通过在包含对象的构造函数中在日志记录对象上设置type属性来解决此问题,但是这留给开发人员设置类型的责任,而我认为没有编译时间限

c#-在VS扩展中具有[导出]的MEF组件-未找到与约束匹配的导出

在Visual Studio扩展中,我尝试导出MEF组件并在以后找到它. 我有这个课: [Export(typeof(IBoilerplateSettings))] public class BoilerplateSettings : IBoilerplateSettings { ... 并在OleMenuCommand的回调中解析此代码.从this pull request获得示例. var componentModel =

c#-MEF-我需要实现IPartImportsSatisfiedNotification吗

public interface IPlugin { public bool execute(); } 我所有的“零件”都实现了此IPlugin接口.我的零件显然具有导入/导出要求/报价. 我正在编写一个构建配置系统,用户可以在其中动态选择他/她想要的内容,这将转换为一组被调用的插件. 例如,这是插件列表: (1)安装X …导出“

c#-WPF中的私有导入属性的CA1811警告

我有一个公共Controller类,在其中使用以下属性 [Import] private TransferRegionViewModel TransferRegionView { get; set; } [Import] private Lazy<IVoiceController> VoiceController { get; set; } 我收到以下CA警告: CA1811 : Microsoft.Performance: ‘TransferControll

CodeGo.net>如何使DirectoryModuleCatalog工作?

我在WPF项目中使用Prism 4和MEF.我有一些需要从目录加载的DLL.这些DLL通过IGame实现IModule,并且格式正确(或至少我认为是这样): [Module(ModuleName = "SnakeModule")] class SnakeModule : IGame { public void Initialize() { Console.WriteLine("test"); }

c#-Mef2在每个模块中配置注册

好的,所以我在使用.Net 4.5的C#WPF应用程序中使用Caliburn Micro和Mef2.我想知道是否有什么方法可以在单独的dll中配置Mef2的注册,然后在主dll中使用它们.基本上,dll将配置其自己的导入和导出. 就像是: RegistrationBuilder builder = new RegistrationBuilder(); builder

C#-设置变量时堆栈溢出

我正在使用MEF框架编写程序来创建插件.尝试在其中一个插件中设置变量时,出现堆栈溢出异常. 插件中的变量定义为公共字符串bnick {get {return bnick;} set {bnick = value;}} 主程序中的调用代码: public void SetUpPlugins() { foreach (Plugin p in plugins)

c#-MEF和对象处置

当我创建一个对象并将其添加到容器中,然后完成操作后,如何确保正确处理该对象? 读http://msdn.microsoft.com/en-us/library/ee155691(v=vs.110).aspx说 For long-lived composition containers, memory consumption by parts with a creation policy of non-shared can become

C#-Visual Studio可扩展性-每个Visual Studio版本是否有不同的MEF导出?

我正在编写Visual Studio扩展,我想根据正在运行的Visual Studio版本[导出]给定接口的另一种实现,例如,一种实现是针对Visual Studio 2010和2012,另一种实现是针对Visual Studio 2013和Visual Studio“ 14”. 我意识到我可以为每个Visual Studio版本简单地部署一个不同的DLL,但是我