零基础ASP.NET Core MVC插件式开发 (2)

 

零基础ASP.NET Core MVC插件式开发

9

 

到这里,把插件项目发布出来的xxx.dllxxx.Views.dll,放到主项目里面去就可以运行了。

 

但是作为插件开发者,每次需要把文件发布放到主项目去才能运行,对开发调试都是不方便,因为插件开发者可能就没有主项目的权限,主项目是统一管理的。分配一个插件还每次都附带一个主项目也比较繁琐。

想到这里就可以反过来把主程序dll注册到插件项目里面,这样就可以在插件项目里面vs直接运行调试起来。

 

以插件1为例,Startup.cs类里面增加如下代码,图10

 

零基础ASP.NET Core MVC插件式开发

10

 

这样把程序的dll提供,比如这个演示demo主程序就需要这两个(Agile.WebPlatform.Main.dllAgile.WebPlatform.Main.Views.dll)把他们放到插件项目的运行目录。vs直接运行插件项目,就可以正常启动了。各种开发调试完全不受其他影响。

插件里面直接启动调试图11

 

零基础ASP.NET Core MVC插件式开发

11

 

运行效果如下 12

 

零基础ASP.NET Core MVC插件式开发

12

 

 

点击插件1 显示如下图13

 

零基础ASP.NET Core MVC插件式开发

13

注意!这里虽然可以看到插件2,但点击插件1是会提示找不到路由的,只能调试各自插件的内容。

 

开发调试其他插件类似,提供主项目的dll,各个插件项目完全可以独立开发自己的业务模块,然后运行调试。

 

三、发布

最后,只要把插件项目的发布文件放到主项目的发布文件里面,使用主项目来运行,整个系统所有的插件都能正常使用了。这样就做到了开发调试独立,最后交付插件自己的dll,放到主项目的发布里面就可以了。

如下图14,是最后发布的程序

 

零基础ASP.NET Core MVC插件式开发

14

 

使用命令运行主项目,或者宿主到iis也一样,如图15,命令行运行

 

零基础ASP.NET Core MVC插件式开发

15

 

 

 

浏览器打开访问,如图16

 

零基础ASP.NET Core MVC插件式开发

16

 

 

点击插件1,显示如图17

 

零基础ASP.NET Core MVC插件式开发

17

 

点击插件2,显示如图18

 

 

零基础ASP.NET Core MVC插件式开发

18

 

 

 

希望你看了之后有点收获,代码程序下面附件提供

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygxdw.html