开源跨平台运行服务插件TaskCore 主窗体
这次我们要和大家分享的是一个跨平台的服务插件TaskCore.MainForm,这个框架是由。netcore。现在网芯已经支持很多系统平台运行,所以以前的Task。MainForm被改进为跨平台服务,供每个人使用和相互交流。本来,本文应该分享后续关于nginx iisreditask构建分布式架构的文章。主要形式,但使用。netcore定义一个服务插件和跨平台测试让我既兴奋又头疼,更不用说下次分享分布式后续文章了;所以从今天开始分享,希望大家多多支持我:
框架结构介绍及运行效果图
如何生成nuget包并使用开源框架TaskCore?主窗体
运行TaskCore的两种方式。 win7和ubuntu16.04中的MainForm和测试截图(也可以认为是两种运行方式。win7和ubuntu系统中的netcore项目)
框架代码的解释和理解
让我们一步步分享:
框架结构介绍及运行效果图
首先,我们先来了解一下工程目录结构的项目源代码如图所示:
结构要足够清晰,源代码文件量小。但是它确实实现了动态加载汇编dll来执行任务,后面会给出相应的执行截图。让我们看看任务核心后Bin文件夹中的文件。MainForm项目由vs2015生成,如图:
如果。安装了netcore sdk,你只需要上面的截图文件就可以运行插件了;然后我们可以在安装了core sdk的win7系统上执行下面的命令dotnet TaskCore.MainForm.dll,可以看到如图:所示的效果
没错,这是正在运行的插件的渲染,因为。目前netcore没有提供类似winform的皮肤界面效果,所以跨平台运行程序只能通过命令行来完成
如何生成nuget包并使用TaskCore?主窗体
首先,我们应该明确服务由两部分组成(TaskCore。MainForm和taskcore。插件);TaskCore。MainForm主要用来运行程序,还有TaskCore。Plugin用作子任务需要继承的父插件;下载任务核心后。MainForm运行包(如图2所示),我们仍然需要做的是继承TaskCore中的TPlugin类。Plugin.dl重写我们自己的任务内容,所以我们创建了一个名为TaskCore的新项目。测试,然后我们直接添加TaskCore。TaskCore中的Plugin.dl引用。MainForm通过vs2015引用函数运行包。此时,我们将提示一个
错误是指无法加载netcore版本的dll,所以在vs项目中无法通过这种直接引用的方式添加dll依赖,需要通过nuget添加依赖包(目前是的引用。netcore to类库只能由nuget安装,这需要注意),所以我使用dotnet pack命令从TaskCore生成nuget包。插件项目,然后在我的任务核心中使用它。测试项目;
如何生成nuget包(win7系统dotnet命令生成包的过程和下载);
在vs中直接右键点击需要打包的类库项目——“选择‘资源管理器中打开文件夹’-”,会到达你类库的根目录。然后退到类库根目录的上层文件夹——“按住键盘“shift”键,同时右键,打包类库的项目文件(我是TaskCore。插件文件夹)-选择“在此打开命令表单”,然后进入cmd命令表单。当然,有些朋友喜欢先直接找到对应的磁盘。反正我觉得第一个更快(不同的人选择不同)。让我们来看看下面操作的截图。3330.000000000001
从上图可以看出,nupkg文件是通过命令生成的,也就是TaskCore。我们需要在项目中下载并安装的插件插件包;接下来,让我们在TaskCore中安装这个插件。测试项目如下。右键单击任务核心中的“参考”->选择“管理新包”->。插件项目,然后选择右上角的这个图标
->选择Nuget包管理器->包源->包
->然后选择新创建的包源,如下图所示的设置
这里由“源”指定的本地路径是我们刚才生成的nupkg文件的磁盘(当然,我在这里。打包命令生成的文件被复制到MyNugPackage文件夹,以便于测试。
版权声明:开源跨平台运行服务插件TaskCore 主窗体是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。