在使用OSGI.NET框架来开发插件过程中,有时为了测试一个插件,或运行一个插件,需要启动主个插件,如果没有主窗口程序,那么该 如何启动一个插件,而不是再开发一个主窗口程序(那样是不是太麻烦,仅仅是为了测试或运行一个插件),其实方法很简单。可在没发现之前,我也对些很困惑,对于启动插件也束手无策。解决方案如下:
- 修改插件的 mainfest.xml 文件
打开想要启动的插件的 mainfest.xml 文件,只需添加如下信息(这仅限于使用了 UIOSP )
<Extension Point="PageFlowService.PageNode"> <PageNode Name="AppCenterPage" Priority="50" Value="ConfigFileConvert.SvgPlugin.SvgControl" /> </Extension>
然后对插件重新编译,插件就能启动。
对于这个发现,是笔者在开发一个winform 和 wpf 项目的时候,框架是自己 搭建的,由于项目不大,一个人负责开发,但是在使用 UIOSP 添加主窗体应用时,解决方案中没有主窗口,这样,如果想运行或测试一个插件(插件也是 winform 或wpf 窗体),是不能启动的,就是把插件设置为启动项目(请原谅我的无知),不但启动不了,反而还会报错,但在插件仓库中下载的winform 或 wpf 插件,安装后,就能启动,经过细心研究发现,这些下载的插件的 mainfest.xml 文件中多了上述的那三行代码,于是插件就能启动了。后来才弄明白,其实这是UIOSP 或者 OSGI OSGI.Net 框架中扩展和扩展点的相关内容,关于扩展和扩展点可以参考之前写的一篇博客:OSGI.NET 学习笔记--应用篇 或者UIOSP 官网文档: 或直接参考 OSGI.Net 官网
相关资料
UIOSP 官网:http://www.iopenworks.com/
OSGI.NET 官网:http://osgi.codeplex.com/
时间: 2024-10-10 06:13:54