前言
注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
帮助开发者发现功能强大、性能优越、创新前沿、简单易用的C#/.NET/.NET Core优秀项目和框架,无论你是寻找灵感、学习新技术、改进代码质量,还是想拓展自己的技术视野,都能为你提供有价值的参考和指导。关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发效率和质量。坑已挖,欢迎大家踊跃提交PR(让优秀的项目和框架不被埋没),我会定期收录、公众号推广和分享👀。
注意:因为该知识库收录的项目比较多,本文只会展示部分项目,想要查看完善的项目分类的欢迎前往GitHub开源地址查看✨
GitHub开源地址✨:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
项目分类(善用Ctrl+F)
-
开源框架
-
Web应用框架
-
桌面应用框架
-
分布式框架
-
微服务框架
-
.NET ORM框架
-
网络通信框架
-
系统日志框架
-
深度学习框架
-
单元测试框架
-
程序限流框架
-
工作流引擎框架
-
身份认证授权框架
-
反向代理框架
-
API 网关框架
-
网络爬虫框架
-
内网穿透框架
-
-
开源项目
-
后台&权限&工作流管理系统
-
商城项目系统(Shop)
-
仓库管理系统(WMS)
-
制造执行系统(MES)
-
内容管理系统(CMS)
-
客户关系管理系统(CRM)
-
企业资源计划系统(ERP)
-
即时通讯系统(IM)
-
配置中心系统(CCS)
-
任务调度系统(Scheduler)
-
分布式事务解决方案
-
博客系统(Blog)
-
办公系统(OA)
-
媒体服务器系统(Media)
-
自动化构建系统
-
任务管理系统
-
进销存管理系统
-
在线考试系统
-
大屏幕&报表系统
-
文档管理系统
-
访客管理系统
-
医疗信息管理系统
-
数据库系统
-
-
实用工具&软件
-
反编译工具
-
代码混淆工具
-
桌面管理工具
-
文件管理工具
-
远程桌面工具
-
数据管理工具
-
实用桌面工具
-
DNS服务器工具
-
录屏和GIF制作工具
-
GitHub加速工具
-
系统优化工具
-
性能压测工具
-
Excel转JSON工具
-
免费的抢票软件
-
Office实用工具
-
其他工具&软件
-
-
实用SDK&类库
-
C#版微信SDK
-
C#实用工具类库
-
C#人脸识别库
-
C#FFmpeg封装库
-
.NET高精度数值计算库
-
.NET第三方登录整合库
-
.NET UI自动化库
-
.NET图形库
-
.NET二维码类库
-
.NET加密解密库
-
.NET支付SDK
-
.NET Office文件操作库
-
.NET JSON处理库
-
.NET对象映射库
-
.NET Redis客户端驱动库
-
.NET的OCR工具类库
-
敏感词检测组件库
-
C#拼音字母转化类库
-
.NET枚举工具类库
-
.NET电子邮件处理库
-
.NET中文分词类库
-
.NET模拟库
-
.NET分布式ID生成库
-
其他第三方SDK&类库
-
-
界面&控件&UI库
-
Blazor UI库
-
WPF UI库
-
WinForm UI库
-
-
开源学习知识库
-
设计模式
-
数据结构与算法
-
项目列表
开源框架
Web应用框架
✍ | 项目名称和地址 | 项目简介 | 项目详细介绍(文档、文章、源码地址) |
---|---|---|---|
9 | |||
8 | |||
7 | |||
6 | |||
5 | Util | Util是一个.Net平台下的应用框架,旨在提升中小团队的开发能力,由工具类、分层架构基类、Ui组件,配套代码生成模板,权限等组成。 | https://github.com/dotnetcore/Util |
4 | Furion | Furion框架是一个基于ASP.NET Core的快速开发框架。 | http://furion.baiqian.ltd/docs/ |
3 | ABP Framework | ABP是一个开源应用程序框架,专注于基于ASP.NET Core的Web应用程序开发,但也支持开发其他类型的应用程序。 | https://docs.abp.io/zh-Hans/abp/latest/ |
2 | MASA Framework | .NET下一代微服务开发框架,提供基于分布式应用运行时——Dapr的云原生最佳实践,可以快速实现分布式、微服务、DDD、SaaS等现代应用开发。 | https://docs.masastack.com/framework/concepts/overview |
1 | ASP.NET Core | ASP.NET Core 是一个开源和跨平台框架,用于构建基于云的现代互联网连接应用程序,例如 Web 应用程序、IoT 应用程序和移动后端。ASP.NET 核心应用在 .NET 上运行,.NET 是一个免费的跨平台开源应用程序运行时。它的架构旨在为部署到云或在本地运行的应用提供优化的开发框架。它由开销最小的模块化组件组成,因此您可以在构建解决方案时保持灵活性。您可以在 Windows、Mac 和 Linux 上跨平台开发和运行 ASP.NET Core 应用程序。详细了解 ASP.NET 核心。 | https://learn.microsoft.com/zh-cn/aspnet/core/?view=aspnetcore-6.0 |
桌面应用框架
✍ | 项目名称和地址 | 项目简介 | 项目详细介绍(文档、文章、源码地址) |
---|---|---|---|
5 | |||
4 | |||
3 | |||
2 | WinForm(Windows Forms) | WinForm是一个传统的桌面应用程序框架,它基于 Windows 操作系统的原生控件和窗体。通过简单易用的 API,开发者可以快速构建基于窗体的应用程序,并且可以利用多种控件和事件来实现应用程序的功能和交互。 | https://learn.microsoft.com/zh-cn/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-7.0 |
1 | WPF(Windows Presentation Foundation) | WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Windows 应用。它提供了灵活的布局、数据绑定、样式和模板、动画效果等功能,让开发者可以创建出吸引人且交互性强的应用程序。 | https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/overview/?view=netdesktop-7.0 |
分布式框架
✍ | 项目名称和地址 | 项目简介 | 项目详细介绍(文档、文章、源码地址) |
---|---|---|---|
6 | |||
5 | |||
4 | |||
3 | |||
2 | orleans | Orleans 是一个用于构建稳健、可扩展的分布式应用程序的跨平台框架。它是由微软研究院开发的开源项目,旨在简化分布式系统的开发过程(Orleans 提供了一种编程模型,使开发人员可以使用面向对象的方式来构建分布式应用程序)。 | https://github.com/dotnet/orleans |
1 | NewLife.Stardust | 一款由新生命开发团队开源的.NET轻量级分布式服务框架,星尘是一个轻量级分布式服务框架。它的功能包含配置中心、集群管理、远程自动发布、服务治理、服务自动注册和发现、负载均衡、动态伸缩、故障转移、性能监控。 | https://github.com/NewLifeX/Stardust |
微服务框架
✍ | 项目名称和地址 | 项目简介 | 项目详细介绍(文档、文章、源码地址) |
---|---|---|---|
10 | |||
9 | |||
8 | |||
7 | |||
6 | |||
5 | |||
4 | Viper | Viper 是一个基于Anno微服务引擎开发的Dashboard示例项目。Anno 底层通讯采用 grpc、thrift。自带服务发现、调用链追踪、Cron 调度、限流、事件总线等。 | https://github.com/duyanming/Viper |
3 | Wing | Wing致力于打造一个功能强大、最接地气的.NET微服务框架,支持.NET Core 3.1+运行平台。支持Consul服务注册与发现,服务间通讯支持http和grpc调用,内置负载均衡器。支持服务策略配置,服务异常降级处理。支持 Saga分布式事务,支持三种恢复策略:向前恢复、向后恢复、先前再后。自带配置中心,服务配置可以在线集中统一管理。支持http/grpc/sql链路追踪APM及耗时分析统计。内置服务网关,支持全局服务策略和个性化服务策略配置。支持RabbitMQ事件总线,自带人性化的Dashboard管理界面。 | https://linguicheng.gitee.io/wing/ |
2 | Surging | surging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希,随机,轮询,压力最小优先作为负载均衡的算法,RPC可以选择采用netty或thrift框架,采用异步非阻塞传输。 | https://github.com/fanliang11/surging |
1 | Ocelot | Ocelot 是一个 .NET API 网关。该项目面向使用 .NET 运行微服务/面向服务架构的人,他们需要一个统一的入口点进入他们的系统。但是,它适用于任何使用 HTTP 的内容并在 ASP.NET Core 支持的任何平台上运行。 | https://github.com/ThreeMammals/Ocelot |
.NET ORM框架
✍ | 项目名称和地址 | 项目简介 | 项目详细介绍(文档、文章、源码地址) |
---|---|---|---|
20 | |||
19 | |||
18 | |||
17 | |||
16 | nhibernate-core | NHibernate是.NET框架的成熟、开源的对象关系映射工具。它在积极开发中,功能齐全,并已成功应用于数千个项目中。 | https://github.com/nhibernate/nhibernate-core |
15 | EF/EF Core | Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET 的现代对象数据库映射器。它支持 LINQ 查询、更改跟踪、更新和架构迁移。EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 和其他数据库一起使用。(微软官方出品)。 | https://learn.microsoft.com/zh-cn/ef/ |
14 | querybuilder | SQL 查询构建器,用 c# 编写,帮助您轻松构建复杂的查询,支持 SqlServer、MySql、PostgreSql、Oracle、Sqlite 和 Firebird。 | https://github.com/sqlkata/querybuilder |
13 | TinyORM | TinyORM是一个简单、快速且安全的微型.NET ORM。 | https://github.com/sdrapkin/SecurityDriven.TinyORM |
12 | cyqdata | cyq.data是一个高性能且功能最强大的orm(支持.NET Core),支持Txt、Xml、Access、Sqlite、Mssql、Mysql、Oracle、Sybase、Postgres、DB2、Redis、MemCache。 | https://github.com/cyq1162/cyqdata |
11 | Insight.Database | Insight.Database是一个用于 .NET 的快速、轻量级的 micro-orm。 | https://github.com/jonwagner/Insight.Database |
10 | SQLite-net | 简单、强大、跨平台的 SQLite 客户端和 .NET 的 ORM。 | https://github.com/praeclarum/sqlite-net |
9 | RepoDb | RepoDB是一个开源的.NET ORM库,它弥合了微ORM和完整ORM之间的差距。它帮助您简化在开发过程中何时使用基本操作和高级操作的切换。 | https://github.com/mikependon/RepoDB |
8 | linq2db | LINQ to DB 是最快的LINQ数据库访问库,在POCO对象和数据库之间提供了一个简单、轻量、快速且类型安全的层。在架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时在代码和数据库之间维护一个薄抽象层。您的查询由 C# 编译器检查并允许轻松重构。但是,它不像 LINQ to SQL 或实体框架那么重。没有更改跟踪,因此您必须自己进行管理,但从积极的方面来说,您可以获得更多控制权并更快地访问您的数据。 | https://github.com/linq2db/linq2db |
7 | PetaPoco | PetaPoco 是一个用于 .NET(4、4.5+、net standard 2.0+)和 Mono 的微型、快速、易于使用的 micro-ORM。由于 PetaPoco 所代表的简单性和易用性,它受到许多人的喜爱。PetaPoco 是首选的微 ORM,也是任何体面的开发人员工具包中必不可少的实用程序。 | https://github.com/CollaboratingPlatypus/PetaPoco |
6 | SmartSql | SmartSql = C# 中的 MyBatis + .NET Core+ 缓存(内存/Redis)+ R/W 拆分 + PropertyChangedTrack +动态存储库 + InvokeSync + 诊断。SmartSql 借鉴了 MyBatis 的思想,使用 XML 来管理 SQL ,并且提供了若干个筛选器标签来消除代码层面的各种 if/else 的判断分支。SmartSql将管理你的 SQL ,并且通过筛选标签来维护本来你在代码层面的各种条件判断,使你的代码更加优美。 | https://github.com/dotnetcore/SmartSql |
5 | Chloe.ORM | Chloe.ORM 是一款国产十分稳定可靠的 ORM 框架。除了常规增删查改外还支持连接查询、分组查询、聚合查询、子查询,大部分操作可通过 lambda 完成。还支持分库分表分页、聚合、分组聚合,并支持多个字段组合分片以及多字段路由。 | https://github.com/shuxinqin/Chloe |
4 | SqlSugar | SqlSugar是一款老牌 .NET 开源ORM框架,支持.NET CORE 和 MySql、SqlServer、Sqlite、Oracle 、 postgresql 、达梦、人大金仓 数据库,具有EF NH的功能,比EF更人性化的语法,支持真实的批量操作,另外还有媲美Dapper的性能。 | https://www.donet5.com/ |
3 | FreeSql | FreeSql 是一款功能强大的对象关系映射(O/RM)组件,支持 .NET Core 2.1+、.NET Framework 4.0+ 以及 Xamarin。 | https://freesql.net/ |
2 | Dapper | Dapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。 | https://github.com/DapperLib/Dapper |
1 | ServiceStack.OrmLite | OrmLite是一个快速、简单、类型化的.NET ORM,OrmLite 的目标是提供一个方便、DRY、无配置、与 RDBMS 无关的类型包装器,该包装器与 SQL 保持高度亲和性,公开直观的 API,生成可预测的 SQL 并干净地映射到断开连接和数据传输对象 (DTO) 友好、普通的旧C# 对象 (POCO)。这种方法更容易推理您的数据访问,从而清楚地知道什么 SQL 在什么时间执行,同时减轻意外行为、隐式 N+1 查询和重对象关系映射器 (ORM) 中普遍存在的泄漏数据访问。 | https://github.com/ServiceStack/ServiceStack.OrmLite |
网络通信框架
✍ | 项目名称和地址 | 项目简介 | 项目详细介绍(文档、文章、源码地址) |
---|---|---|---|
7 | |||
6 | |||
5 | |||
4 | BeetleX | BeetleX是一个开源的高性能 .NET Core网络库,提供了TCP、UDP、HTTP和WebSocket协议的支持。它的设计目标是简单易用、高性能、可扩展性强,并支持大规模并发连接。BeetleX基于.NET Core实现,支持跨平台运行,可以运行在Windows、Linux和macOS等系统上。 | https://github.com/beetlex-io/BeetleX |
3 | SignalR | SignalR 是一个实时网络通信框架,可以进行服务器到客户端和客户端到客户端的双向通信。它支持 WebSocket、Server-Sent Events 和 Long Polling 等传输协议,适用于实时聊天、实时推送等场景。 | https://learn.microsoft.com/zh-cn/aspnet/core/signalr/introduction?view=aspnetcore-7.0 |
2 | TouchSocket | TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。 | https://rrqm_home.gitee.io/touchsocket/ |
1 | DotNetty | DotNetty是Netty的移植版,它是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 | https://github.com/Azure/DotNetty |