目前.NET5已经发布了v5.0.0-rc.2版本,相信.NET5正式版本很快就可以出来,广大.NETer都在万般期待着。
当前基于.NET5开发的项目还很少,毕竟正式版尚未发布,但国内总有一批敢为人先的.NETer创造出令人惊喜的事情。
![bd7cc52fc9e1724dbf27b339d6ebc15e.png](https://img-blog.csdnimg.cn/img_convert/bd7cc52fc9e1724dbf27b339d6ebc15e.png)
今天我将给大家介绍基于.NET 5 平台下企业应用开发最佳实践框架Fur,助力.NET5一飞冲天。
源码地址:https://gitee.com/monksoul/Fur
Fur 是基于最新的 .NET 5 RC2 构建,目的是为了尽早体验新功能,对即将到来的 .NET 5 正式版做出最快的响应。Fur 是当前 .NET 5 平台下的一个优秀的开发框架,使用了很多良好的设计模式和开发理念,与Abp框架有很多的相似之处。
![17be2eee8d82d5d617f6932cd6705c83.png](https://img-blog.csdnimg.cn/img_convert/17be2eee8d82d5d617f6932cd6705c83.png)
框架特点
- 全新面貌:基于 .NET 5 平台,没有历史包袱
- 极易入门:只需要一个 Inject() 即可完成配置
- 极速开发:内置丰富的企业应用开发功能
- 极少依赖:框架只依赖三个第三方包
- 极其灵活:轻松面对多变复杂的需求
- 极易维护:采用独特的架构思想,只为长久维护设计
- 完整文档:提供完善的开发文档
功能模块
![97306cc01784e481cd88672daf74a4e4.png](https://img-blog.csdnimg.cn/img_convert/97306cc01784e481cd88672daf74a4e4.png)
环境要求
- Visual Studio 2019 Preview 16.8 +
- .NET 5 SDK +
- .Net Standard 2.1 +
系统运行
代码下载后,如果编译失败(如下图),则说明.NET运行环境不正确,因为开发工具必须为Visual Studio 2019 Preview 16.8 +,所以运行的时候,要检查VS的版本,例如我本地的Visual Studio 的是2019 版本16.7.4,显然不能支持项目的运行,要想正常运行项目,请安装最新版本的Visual Studio 2019,下面有说明。
![c199f75b8eb846e15ec6e11bc51e06cc.png](https://img-blog.csdnimg.cn/img_convert/c199f75b8eb846e15ec6e11bc51e06cc.png)
![fc858222d9f6407cfc8e774de1de3f5c.png](https://img-blog.csdnimg.cn/img_convert/fc858222d9f6407cfc8e774de1de3f5c.png)
![f11d2fa084f5c429e265e65050f7ce3f.png](https://img-blog.csdnimg.cn/img_convert/f11d2fa084f5c429e265e65050f7ce3f.png)
软件下载
安装最新的 v5.0.0-rc.2:https://dotnet.microsoft.com/download/dotnet/5.0
安装最新的 Visual Studio 2019 Preview:https://visualstudio.microsoft.com/zh-hans/vs/preview/
特别注意:This release is only compatible with Visual Studio 2019 (v16.8, Preview 4).
环境设置好后,项目可以正常编译通过了,如下图所示:
![dd0e980e0f9105930683509bfe9d3997.png](https://img-blog.csdnimg.cn/img_convert/dd0e980e0f9105930683509bfe9d3997.png)
Fur 框架项目结构如下:
- Fur.Tests:测试层
- Solution Items:解决方案配置层
- Fur:框架核心层
- Fur.Application:业务应用层
- Fur.Core:仓储实体层
- Fur.Database.Migrations:架构维护层
- Fur.EntityFramework.Core:EF Core 配置层
- Fur.Web.Core:Web 核心层
- Fur.Web.Entry:Web 入口层/启动层
数据库
支持各种主流的数据,如SqlServer、MySql、Sqlite等,系统默认支持Sqlite,可以做到无需配置项目就能直接运行。为什么要默认使用Sqlite数据?如果不清楚,可以看我之前发表的文章。
FurDbContext默认设置为“Sqlite3ConnectionString”的数据链接。
![35358ad596bc3762a2248820afbafc29.png](https://img-blog.csdnimg.cn/img_convert/35358ad596bc3762a2248820afbafc29.png)
![80d437d1c698f3b93b2d10fba523c64f.png](https://img-blog.csdnimg.cn/img_convert/80d437d1c698f3b93b2d10fba523c64f.png)
运行项目
由于系统默认使用Sqlite数据,所以我们选择“Fur.Web.Entry”项目,直接F5运行,就可以看到Swagger页面。其实一个好的开源项目,就应该如此,做到无需配置能够直接运行成功。
![a56316fa5184281eff523f99b603edcf.png](https://img-blog.csdnimg.cn/img_convert/a56316fa5184281eff523f99b603edcf.png)
结语
Fur 是当前 .NET 5 平台下的一个优秀的开发框架,使用了很多良好的设计模式和开发理念,与Abp框架有很多的相似之处,目前系统处于进一步的开发当中,好像还没有一个完整的后台界面,我相信作者很快就会设计出来。如果想了解更多Fur框架的知识,可以到Fur官网查看。
本文只是对Fur框架做一个简单的介绍,希望.NET5出来之后,.NET生态会变得更好!
其它
关于Sqlite:开源时代的后端程序员必须要了解的一个数据库SQLite