繁体   English   中英

WinForm 插件系统

WinForm Plugin system

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我创建了 ac# 2.0 WinForm 应用程序,它加载 dll、搜索接口,然后将接口作为插件加载。 我在与主应用程序相同的应用程序域中加载插件,因为它们有一个 GUI,我将其作为选项卡项直接加载到应用程序中。

我想将它们加载到他们自己的应用程序域中,但由于 GUI 的原因,我认为这是不可能的。 我还想监视它们以判断它们是否没有响应并卸载它们。

这可能吗? 如果我升级到 WPF,事情就简单多了。

1 个回复

如果您允许插件创建自己的 WinForms UI 控件,它们将必须与您的主 UI 在同一线程上运行,因此您无法将插件隔离在它们自己的应用程序域中。

您可以做的是在主机和插件之间定义一个非 UI 抽象层,以便插件仅向主机发送它们需要的 UI 类型。 然后,主机负责创建 UI 控件并将输入中继到插件。 这使插件实例能够存在于单独的应用程序域中。

更新:使用 WPF 和 System.AddIn(又名 MAF) ,可以跨应用程序域执行 UI。 在走那条路之前,我会阅读关于 MAF 的一些意见

2 模板系统和插件系统

如何为类似于WordPress或joomla的自定义CMS创建模板/主题系统和插件系统? 编辑: 我不想使用任何类似于wordpress的模板引擎; 它以模板闻名的原因。 ...

3 Winform应用程序在XP系统上闪烁

嗨,我有一个Windows应用程序(winform .net framework 4)。 该应用程序在Windows XP系统上大量闪烁。 我添加了代码: 当我添加上面的代码时,闪烁被删除了。 在我的Windows 7 32位开发系统上,它运行良好,但是在Windows XP上 , ...

4 Winform模板系统,例如ASP.NET MasterPage或MS Access SubForm

是否存在Winform Framework用于类似于ASP.NET母版页或MS Access子窗体的内容? 使用MS Access SubForm,您可以像ASP.NET母版页一样。 当必须创建大量复杂的表单时,使用Winform会浪费大量时间。 您必须补偿创建代码重复的代码生成,或者 ...

5 如何摆脱Winform的插件安全性

安全插件窗口 嗨,我创建了多个外部命令,并将其停靠在自己的Revit选项卡中。 但是,当我向其中一个命令添加Winform时,现在在Revit启动时要求我提供另一个安全插件弹出窗口。 正如您在GiF中看到的那样。 有办法摆脱它吗? 这是我的外部命令界面代码: `[Tran ...

6 Winform应用程序中的插件

我有一个功能来加载存储库中的所有dll 还有另一个这样的接口类 我需要返回在RunAnalysis方法中编写的字符串 但是它具有Program.cs类作为应用程序的主要入口点。 因此,它显示了一个错误,即在一个应用程序中不能有两个主要对象。 我需要从pligin ...

2010-12-06 10:21:47 3 233   c#
7 Spring Boot Maven插件系统变量

Spring Boot应用程序无法识别我通过Maven Spring Boot插件设置的系统变量。 我在配置类中以这种方式在Java中访问它 当我运行mvn -Plocal spring-boot:run spring boot app在配置类中创建Bean时出现以下错误 ...

8 Purescript插件系统

purescript是否具有类似Haskell的System.Plugins的内容? 我需要创建一些“通用接口”(对此很抱歉,我已经使用面向对象的语言编程了将近15年),其他开发人员只需将模块文件放在plugins目录中就可以使用。 我想知道是否可能,因为据我所知,Purescript在 ...

10 React Native macOS插件系统

我在react-native上制作了一个跨平台的应用程序。 目前,我专注于macOS。 我想通过第三方插件扩展我的功能: 用户通过自制软件brew install --cask whatever安装我的应用程序。 在npm和npm i -g my-external-plugin上找到第三方 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM