本期亮点
- 全新的架构设计,一套版本支持 .NET5,.NET6,.NET7+,所有 Furion 历史版本都能升级到该版本。
- 全新的日志组件(可输出到任何介质)、单元测试、集成测试工具,无需使用第三方拓展。
- 全新的静默模式,支持任何 .NET 应用程序,包括但不限于 Web、控制台、桌面、移动、单元测试、集成测试。
- 全新的底层兼容,支持完整的 VB.NET 应用程序集成开发,可无需使用 C# 编程语言。
文档地址
开源地址
- Gitee:https://gitee.com/dotnetchina/Furion
- GitHub:https://github.com/monksoul/Furion
- Nuget:https://www.nuget.org/packages/Furion
框架特点
- 全新面貌:基于
.NET5/6
平台,没有历史包袱 - 极少依赖:框架只依赖两个第三方包
- 极易入门:只需要一个
Inject()
即可完成配置 - 极速开发:内置丰富的企业应用开发功能
- 极其灵活:轻松面对多变复杂的需求
- 极易维护:采用独特的架构思想,只为长久维护设计
- 完整文档:提供完善的开发文档
- 跨全平台:支持所有主流操作系统及 .NET 全部项目类型
功能模块
环境要求
- Visual Studio 2019 16.8 +
- .NET 5 SDK +
- .Net Standard 2.1 +
支持平台
- 运行环境
- Windows
- Linux
- MacOS/MacOS M1 CPU
- Docker/K8S/K3S/Rancher
- Xamarin/MAUI
- 数据库
- SqlServer
- Sqlite
- Azure Cosmos
- MySql
- MariaDB
- PostgreSQL
- InMemoryDatabase
- Oracle
- Firebird
- 达梦数据库
- MongoDB
- 应用部署
- Kestrel
- Nginx
- Jexus
- IIS
- Apache
- PM2
- Supervisor
- 独立发布/单文件
- 容器(Docker/K8S/K3S/Rancher/PodMan)
本期更新
新特性
- [新增]
Furion.Xunit
拓展包,正式实现Xunit
单元测试完整支持Furion
063a034e- [新增]
services.AddMonitorLogging()
日志监视器服务,支持非常灵活的日志操作 81df742- [新增]
Serve.Run(silence: true)
等一系列强大的静默启动功能 #I5JBSQ #I5J98T 7cced4- [新增]
SpecificationDocumentBuilder.GetOpenApiGroups()
方法获取底层的规范化接口分组信息 4ff03c5- [新增]
logger.ScopeContext()
配置日志上下文功能 #I5JC0D- [新增] 跨域配置
CorsAccessorSettings.SignalRSupport
配置选项,支持配置SignalR
跨域 #I5JREM- [重构] 日志模块,内置写入控制台、文件、数据库功能,再也无需引入第三方日志了!日志源码
- [新增] 强大的调试日志
[LoggingMonitor]
32dfc1突破性变化
- [新增]
Furion.Xunit
拓展包,正式实现Xunit
单元测试完整支持Furion
063a034e- [移除]
Furion.Extras.DatabaseAccessor.SqlSugar
拓展插件中的[SqlSugarUnitOfWork]
工作单元特性,将使用通用工作单元替换,查看最新实现文档- [调整]
Serve.Run
的ConfigureConfiguration
方法参数,由configuration => {}
改为(environment, configuration) => {}
83c97bb- [移除]
Inject.Create()
方法,再也不需要了,框架提供了无敌强大的Serve.Run()
静默启动方式 200848e- [重构] 日志模块,内置写入控制台、文件、数据库功能,再也无需引入第三方日志了!日志源码
- [调整]
TP.Wrapper
规范化日志模板算法,由过去的[属性]
改为##属性##
,解决JSON
内容冲突问题 394ecec- [公告] 未来
Furion.Extras.Logging.Serilog
拓展将不再继续维护,因为Furion
有强大的日志组件了!问题修复
- [修复]
[LoggingMonitor]
异常消息日志级别为Information
错误问题 ab46cdf- [修复] 新版本日志组件频繁提示文件占用问题,将文件独占锁改为共享锁 #I5J3S6
- [修复] 配置数据库日志读写器为
EFCore
时控制台出现无限打印问题 #I5J474- [修复]
[LoggingMonitor]
针对byte[]
类型参数输出过大问题 5380f35- [修复] 友好异常和规范化结果丢失了原始
ErrorCode
问题 #I5IX2R- [修复] 新版本日志组件自定义数据库读写器注入
IRepository
仓储导致死循环问题 #I5IX2R- [修复]
Mvc
默认手动验证和Furion
全局验证冲突问题 2a06c39- [修复]
Serve.Run()
模式不支持SuperSocket
第三方包问题,原生是支持的。186ca0a- [修复]
SignalR
跨域错误问题 #I5JREM- [修复] 修复脱敏模块模型绑定个别情况下空异常问题 #I5IM5C
其他更改
- [开放] 底层的规范化文档
SpecificationDocumentBuilder
部分方法,提供更加便捷的第三方Swagger UI
集成 10f0f01