Tag: 插件

C#WCF插件的设计和实现

我想得到一些建议。 我正在开发一个系统,它将在运行时加载插件并要求它们通过WCF端点可用。 我将有一个仅用于配置的MVC 3 Web应用程序,以及将加载不同插件的类库(核心)。 我会很感激如何解决这个问题。 我想加载插件,然后能够创建一个在IIS 7中注册的WCF端点,以访问该插件。 提前致谢 :)

编写Visual Studio 2010插件,想在代码编辑器中显示像Resharper这样的工具箱

我想为Visual Studio 2010编写一个插件,但实际上我遇到了一些问题。 我想做的事情似乎很简单,我想在代码编辑器中选择文本时会出现一个小工具箱,例如Resharper(带有帮助重构的菜单的小笔)或者像这里: http://www.axtools.com/products-vs2010-extensions.php?tab=selection-popup 我想知道 : 是否有anu Visual Studio模板有助于启动? 我尝试使用“编辑器视口装饰”,但我不确定。 我应该从启动工具箱开始,还是可以从系统工具箱中显示一些按钮? 在链接的axtools插件中,它是一个定制的工具箱或系统? 如何检测文本被选中? 我现在没有其他问题了。 我是网络开发者,所以编写一个visual studio插件对我来说是个新事物。 提前致谢。

C#中基于插件的应用程序

我必须使用我选择的语言制作图形用户界面应用程序。 该应用程序将在Windows XP上运行。 它将是某种复杂的Windows窗体应用程序。 我认为,根据大多数建议,C#将是最好用的。 GUI左侧的树结构将在从配置文件读取后填充,该配置文件将是二进制文件。 (但最初我可以用一个简单的ASCII文件来测试我的代码。) 应用程序将通过此GUI接受来自用户的一些输入,并将其写回相同的配置文件,并将反映树形结构或标签或表单上任何其他相关字段的更改。 每个选项卡将有3个选项卡和3个相应的配置文件。 我现在需要一些帮助来设计应用程序。 我打算制作一个主机应用程序(主应用程序)并使用3个选项卡控件作为插件。 这可行吗? 如果是这样,请指导我这个。 我的意思是如何在C#中创建3个插件以及如何编写接口以便主应用程序知道要加载哪个插件以及何时加载它? 我的项目文件夹下会有一个单独的“插件”文件夹吗? 我希望你明白我的意思,虽然这对你来说太少了。 此外,项目中已存在一些.cpp文件。 这些文件以及一些.h文件包含一些重要的定义和常量。 这些需要与我的C#应用​​程序集成。 我不知道如何做到这一点,但我确信通过在.dll中编译.cpp代码然后将已编译的.dll暴露给我的C#应用​​程序是可能的。 如果您需要有关顶级设计的更多信息,请与我们联系。 谢谢,Viren

.NET中的插件式架构

我正在尝试实现类似应用程序的插件。 我知道已有几种解决方案,但这只是该概念的certificate,仅此而已。 这个想法是默认情况下使应用程序主应用程序几乎没有function,然后让插件相互了解,让它们实现所有需要的function。 出现了几个问题: 我希望运行时的插件通过我的应用程序了解彼此。 这并不意味着在代码时他们无法引用其他插件的程序集,所以他们可以使用它的接口,只有插件function初始化应该始终通过我的主应用程序。 例如:如果我同时加载了插件X和Y,并且Y想要使用X的function,它应该通过我的应用程序“注册”它的兴趣来使用它的function。 我必须在我的应用程序中有一种“字典”,我存储所有加载的插件。 注册我的应用程序后,插件Y将获得对X的引用,以便它可以使用它。 这是一个好方法吗? 在编写使用X的插件Y时,我需要引用X的程序集,因此我可以针对其接口进行编程。 这有版本控制的问题。 如果我对插件X的过时版本编码我的插件Y怎么办? 我应该总是使用所有组件都在的“中央”位置,总是有最新版本的组件吗? 有没有专门处理这些.NET设计的书? 谢谢 编辑:我认为人们正在偏离我提出的两个问题。 我可以看看MEF和#develop,但我想得到具体的问题答案。

在.NET中只使用MEF获取必要的插件

我有IMessageSender界面。 using System.ComponentModel.Composition; public interface IMessageSender { void Send(string message); } 我有两个实现此接口的插件。 这是plugin.cs。 using System.ComponentModel.Composition; using System.ComponentModel.Composition.Hosting; using System.Reflection; using System; [Export(typeof(IMessageSender))] public class EmailSender : IMessageSender { public void Send(string message) { Console.WriteLine(message); } } 这是plugin2.cs [Export(typeof(IMessageSender))] public class EmailSender : IMessageSender { public void Send(string message) { Console.WriteLine(message + “!!!!”); } } 我有这个代码用MEF运行这些插件。 […]

带GUI的插件架构

我正在开发一个大量使用插件的应用程序。 该应用程序在C#中,我正在考虑在WPF中构建配置GUI。 在如何管理实际插件本身方面,我得到了插件架构。 但是,每个插件都有自己的配置,这就是我在寻求帮助的地方。 插件架构很简单 – 有一个插件工具的接口,我只是加载目录中的所有插件。 但是,插件从哪里获取配置? 我想有一些通用的方法来处理这个,所以每个插件都不负责读取自己的配置文件。 此外,我希望GUI随每个插件一起扩展 – 也就是说,安装的每个插件都应该向GUI添加一个选项卡,其中包含该插件的特定配置选项。 然后在保存时,将保存配置文件。 我最好的办法是什么?

无法在插件注册工具中调试动态C#插件

背景 我在Dynamics 2016内部部署了一个C#插件,它使用一个库来调用其他系统。 该库的一部分是使用Web API调用动态。 插件正在采取行动,因为我可以看到动态的变化,但我期待它采取不同于它采取的行动。 当我尝试使用插件注册工具调试插件时,我遇到了一些问题。 当我使用Exception方法分析插件时,我得到一个exception文件,我可以调试到一个点。 当我到达下面的代码时,插件注册工具崩溃而没有错误消息。 当我使用Persist to Entity方法进行调试时,我的插件似乎成功,但插件注册工具中没有记录任何配置文件。 我的插件是从一个动作触发的,该动作是从附加到业务流程流程的工作流程触发的(这是基于本文)。 我最初的问题是在这里导致了这个问题。 有关让调试器使用我的代码的任何想法? 码 HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential(“admin”, “password”, “DOMAIN”) }); client.BaseAddress = new Uri(Helpers.GetSystemUrl(COHEN.APIConnector.Application.Dynamics)); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(“application/json”)); client.DefaultRequestHeaders.Add(“OData-MaxVersion”, “4.0”); client.DefaultRequestHeaders.Add(“OData-Version”, “4.0”); HttpResponseMessage responseMessage; string url = “ccseq_clients”; responseMessage = client.GetAsync(url).Result;

entity framework自动更新

我尝试将Entity-Framework实现到我的项目中! 我的项目是基于插件的,所以我不知道我必须保存到数据库的哪个对象。 我已经实现了它: public class DatabaseContext : DbContext { public DatabaseContext() : base() { Database.Initialize(true); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { foreach( PluginDto plugin in BackendContext.Current.PluginManager._plugins) { foreach(Type obj in plugin.plugin.getPluginDatabaseObjects()) { Type typ = typeof(EntityTypeConfiguration).MakeGenericType(obj); List l = modelBuilder.GetType().GetMethods().ToList(); MethodInfo m_Entitiy = modelBuilder.GetType().GetMethod(“Entity”).MakeGenericMethod(new Type[] { obj }); var configObj = m_Entitiy.Invoke(modelBuilder, null); MethodInfo […]

Eclipse IDE,C#和VB.Net插件,支持.Net Framework4.0

我想在Eclipse 3.7 Indigo中使用C#和VB.Net。 C# 我知道Emonic可以支持从1.0到3.0的.Net Framework,但是最新版本于2010年1月7日发布改进C#插件已经很老了。 VB.net 我在Eclipse中找不到关于VB.net的插件。 所以我想知道是否有一个Eclipse插件允许您使用.Net Framework 4.0或3.5编写C#或VB.net代码? 无论如何,谢谢你! 晴朗

Visual Studio 2010插件 – 将上下文菜单添加到编辑器窗口

这类似于以下问题: Visual Studio 2010插件 – 向解决方案资源管理器添加上下文菜单 ,但我的查询是如何将项目添加到上下文菜单项到JavaScript文件的代码编辑器窗口。 我正在尝试使用Visual Studio外接程序项目(而不是Visual Studio包)添加上下文菜单。 来自上述链接的代码非常有用。 总而言之,要将项添加到Solution Explorer和Project explorer的上下文菜单中,我们首先检索项本身: CommandBars cmdBars = (CommandBars)(_applicationObject.CommandBars); CommandBar vsBarProject = cmdBars[“Project”]; CommandBar vsBarSolution = cmdBars[“Solution”]; 然后,添加它们,通过扩充现成的项目模板代码来添加它们: command.AddControl(vsBarProject); command.AddControl(vsBarSolution); 现在我的查询是关于我必须将命令添加到哪个cmdBars元素,以便我的项目出现在上下文菜单上以编辑脚本文件 我已经建立了不是cmdBars[“Code Window”] 。 是否有一个项目适用于所有文件,或者我是否必须为每种编辑器类型添加它(例如ASPX,脚本,HTML等)?