[DotNetGuide]C#/.NET/.NET Core优秀项目和框架精选

图片

图片

图片

前言

注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。

帮助开发者发现功能强大、性能优越、创新前沿、简单易用的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
5UtilUtil是一个.Net平台下的应用框架,旨在提升中小团队的开发能力,由工具类、分层架构基类、Ui组件,配套代码生成模板,权限等组成。https://github.com/dotnetcore/Util
4FurionFurion框架是一个基于ASP.NET Core的快速开发框架。http://furion.baiqian.ltd/docs/
3ABP FrameworkABP是一个开源应用程序框架,专注于基于ASP.NET Core的Web应用程序开发,但也支持开发其他类型的应用程序。https://docs.abp.io/zh-Hans/abp/latest/
2MASA Framework.NET下一代微服务开发框架,提供基于分布式应用运行时——Dapr的云原生最佳实践,可以快速实现分布式、微服务、DDD、SaaS等现代应用开发。https://docs.masastack.com/framework/concepts/overview
1ASP.NET CoreASP.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
2WinForm(Windows Forms)WinForm是一个传统的桌面应用程序框架,它基于 Windows 操作系统的原生控件和窗体。通过简单易用的 API,开发者可以快速构建基于窗体的应用程序,并且可以利用多种控件和事件来实现应用程序的功能和交互。https://learn.microsoft.com/zh-cn/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-7.0
1WPF(Windows Presentation Foundation)WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Windows 应用。它提供了灵活的布局、数据绑定、样式和模板、动画效果等功能,让开发者可以创建出吸引人且交互性强的应用程序。https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/overview/?view=netdesktop-7.0
分布式框架
项目名称和地址项目简介项目详细介绍(文档、文章、源码地址)
6
5
4
3
2orleansOrleans 是一个用于构建稳健、可扩展的分布式应用程序的跨平台框架。它是由微软研究院开发的开源项目,旨在简化分布式系统的开发过程(Orleans 提供了一种编程模型,使开发人员可以使用面向对象的方式来构建分布式应用程序)。https://github.com/dotnet/orleans
1NewLife.Stardust一款由新生命开发团队开源的.NET轻量级分布式服务框架,星尘是一个轻量级分布式服务框架。它的功能包含配置中心、集群管理、远程自动发布、服务治理、服务自动注册和发现、负载均衡、动态伸缩、故障转移、性能监控。https://github.com/NewLifeX/Stardust
微服务框架
项目名称和地址项目简介项目详细介绍(文档、文章、源码地址)
10
9
8
7
6
5
4ViperViper 是一个基于Anno微服务引擎开发的Dashboard示例项目。Anno 底层通讯采用 grpc、thrift。自带服务发现、调用链追踪、Cron 调度、限流、事件总线等。https://github.com/duyanming/Viper
3WingWing致力于打造一个功能强大、最接地气的.NET微服务框架,支持.NET Core 3.1+运行平台。支持Consul服务注册与发现,服务间通讯支持http和grpc调用,内置负载均衡器。支持服务策略配置,服务异常降级处理。支持 Saga分布式事务,支持三种恢复策略:向前恢复、向后恢复、先前再后。自带配置中心,服务配置可以在线集中统一管理。支持http/grpc/sql链路追踪APM及耗时分析统计。内置服务网关,支持全局服务策略和个性化服务策略配置。支持RabbitMQ事件总线,自带人性化的Dashboard管理界面。https://linguicheng.gitee.io/wing/
2Surgingsurging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希,随机,轮询,压力最小优先作为负载均衡的算法,RPC可以选择采用netty或thrift框架,采用异步非阻塞传输。https://github.com/fanliang11/surging
1OcelotOcelot 是一个 .NET API 网关。该项目面向使用 .NET 运行微服务/面向服务架构的人,他们需要一个统一的入口点进入他们的系统。但是,它适用于任何使用 HTTP 的内容并在 ASP.NET Core 支持的任何平台上运行。https://github.com/ThreeMammals/Ocelot
.NET ORM框架
项目名称和地址项目简介项目详细介绍(文档、文章、源码地址)
20
19
18
17
16nhibernate-coreNHibernate是.NET框架的成熟、开源的对象关系映射工具。它在积极开发中,功能齐全,并已成功应用于数千个项目中。https://github.com/nhibernate/nhibernate-core
15EF/EF CoreEntity 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/
14querybuilderSQL 查询构建器,用 c# 编写,帮助您轻松构建复杂的查询,支持 SqlServer、MySql、PostgreSql、Oracle、Sqlite 和 Firebird。https://github.com/sqlkata/querybuilder
13TinyORMTinyORM是一个简单、快速且安全的微型.NET ORM。https://github.com/sdrapkin/SecurityDriven.TinyORM
12cyqdatacyq.data是一个高性能且功能最强大的orm(支持.NET Core),支持Txt、Xml、Access、Sqlite、Mssql、Mysql、Oracle、Sybase、Postgres、DB2、Redis、MemCache。https://github.com/cyq1162/cyqdata
11Insight.DatabaseInsight.Database是一个用于 .NET 的快速、轻量级的 micro-orm。https://github.com/jonwagner/Insight.Database
10SQLite-net简单、强大、跨平台的 SQLite 客户端和 .NET 的 ORM。https://github.com/praeclarum/sqlite-net
9RepoDbRepoDB是一个开源的.NET ORM库,它弥合了微ORM和完整ORM之间的差距。它帮助您简化在开发过程中何时使用基本操作和高级操作的切换。https://github.com/mikependon/RepoDB
8linq2dbLINQ to DB 是最快的LINQ数据库访问库,在POCO对象和数据库之间提供了一个简单、轻量、快速且类型安全的层。在架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时在代码和数据库之间维护一个薄抽象层。您的查询由 C# 编译器检查并允许轻松重构。但是,它不像 LINQ to SQL 或实体框架那么重。没有更改跟踪,因此您必须自己进行管理,但从积极的方面来说,您可以获得更多控制权并更快地访问您的数据。https://github.com/linq2db/linq2db
7PetaPocoPetaPoco 是一个用于 .NET(4、4.5+、net standard 2.0+)和 Mono 的微型、快速、易于使用的 micro-ORM。由于 PetaPoco 所代表的简单性和易用性,它受到许多人的喜爱。PetaPoco 是首选的微 ORM,也是任何体面的开发人员工具包中必不可少的实用程序。https://github.com/CollaboratingPlatypus/PetaPoco
6SmartSqlSmartSql = C# 中的 MyBatis + .NET Core+ 缓存(内存/Redis)+ R/W 拆分 + PropertyChangedTrack +动态存储库 + InvokeSync + 诊断。SmartSql 借鉴了 MyBatis 的思想,使用 XML 来管理 SQL ,并且提供了若干个筛选器标签来消除代码层面的各种 if/else 的判断分支。SmartSql将管理你的 SQL ,并且通过筛选标签来维护本来你在代码层面的各种条件判断,使你的代码更加优美。https://github.com/dotnetcore/SmartSql
5Chloe.ORMChloe.ORM 是一款国产十分稳定可靠的 ORM 框架。除了常规增删查改外还支持连接查询、分组查询、聚合查询、子查询,大部分操作可通过 lambda 完成。还支持分库分表分页、聚合、分组聚合,并支持多个字段组合分片以及多字段路由。https://github.com/shuxinqin/Chloe
4SqlSugarSqlSugar是一款老牌 .NET 开源ORM框架,支持.NET CORE 和 MySql、SqlServer、Sqlite、Oracle 、 postgresql 、达梦、人大金仓 数据库,具有EF NH的功能,比EF更人性化的语法,支持真实的批量操作,另外还有媲美Dapper的性能。https://www.donet5.com/
3FreeSqlFreeSql 是一款功能强大的对象关系映射(O/RM)组件,支持 .NET Core 2.1+、.NET Framework 4.0+ 以及 Xamarin。https://freesql.net/
2DapperDapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。https://github.com/DapperLib/Dapper
1ServiceStack.OrmLiteOrmLite是一个快速、简单、类型化的.NET ORM,OrmLite 的目标是提供一个方便、DRY、无配置、与 RDBMS 无关的类型包装器,该包装器与 SQL 保持高度亲和性,公开直观的 API,生成可预测的 SQL 并干净地映射到断开连接和数据传输对象 (DTO) 友好、普通的旧C# 对象 (POCO)。这种方法更容易推理您的数据访问,从而清楚地知道什么 SQL 在什么时间执行,同时减轻意外行为、隐式 N+1 查询和重对象关系映射器 (ORM) 中普遍存在的泄漏数据访问。https://github.com/ServiceStack/ServiceStack.OrmLite
网络通信框架
项目名称和地址项目简介项目详细介绍(文档、文章、源码地址)
7
6
5
4BeetleXBeetleX是一个开源的高性能 .NET Core网络库,提供了TCP、UDP、HTTP和WebSocket协议的支持。它的设计目标是简单易用、高性能、可扩展性强,并支持大规模并发连接。BeetleX基于.NET Core实现,支持跨平台运行,可以运行在Windows、Linux和macOS等系统上。https://github.com/beetlex-io/BeetleX
3SignalRSignalR 是一个实时网络通信框架,可以进行服务器到客户端和客户端到客户端的双向通信。它支持 WebSocket、Server-Sent Events 和 Long Polling 等传输协议,适用于实时聊天、实时推送等场景。https://learn.microsoft.com/zh-cn/aspnet/core/signalr/introduction?view=aspnetcore-7.0
2TouchSocketTouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。https://rrqm_home.gitee.io/touchsocket/
1DotNettyDotNetty是Netty的移植版,它是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。https://github.com/Azure/DotNetty

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/357974.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

R语言学习case7:ggplot基础画图(核密度图)

step1: 导入ggplot2库文件 library(ggplot2)step2&#xff1a;带入自带的iris数据集 iris <- datasets::irisstep3&#xff1a;查看数据信息 dim(iris)维度为 [150,5] head(iris)查看数据前6行的信息 step4&#xff1a;画图展示 plot2 <- ggplot(iris,aes(Sepal.W…

基于C#制作一个连连看小游戏

基于C#制作一个连连看小游戏,实现:难易度选择、关卡选择、倒计时进度条、得分计算、音效播放等功能。 目录 引言游戏规则开发环境准备游戏界面设计游戏逻辑实现图片加载与显示鼠标事件处理游戏优化与扩展添加关卡与难度选择说明</

wpf 数据转换(Bytes 转 KB MB GB)

效果 后端 using ProCleanTool.Model; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data;namespace P…

Python(19)Excel表格操作Ⅰ

目录 导包 读取EXCEL文件 1、获取worksheet名称 2、设定当前工作表 3、输出目标单元格数据 4、工作表.rows&#xff08;行&#xff09; 5、工作表.columns&#xff08;列&#xff09; 小结 导包 要想使用 python 操作 Excel 文件&#xff0c;应当导入 openpyxl 包。在…

【Docker】WSL(Windows Subsystem for Linux)常见命令解释说明以及简单使用

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

Flask 入门2

1. 在上一节中&#xff0c;我们使用到了静态路由&#xff0c;即一个路由规则对应一个 URL。而在实际应用中&#xff0c;更多使用的则是动态路由&#xff0c;它的 URL是可变的。 2. 定义一个很常见的路由地址 app.route(/user/<username>) def user(username):return U…

鸿蒙首批原生应用!无感验证已完美适配鸿蒙系统

顶象无感验证已成功适配鸿蒙系统&#xff0c;成为首批鸿蒙原生应用&#xff0c;助力鸿蒙生态的快速发展。 作为全场景分布式操作系统&#xff0c;鸿蒙系统旨在打破不同设备之间的界限&#xff0c;实现极速发现、极速连接、硬件互助、资源共享。迄今生态设备数已突破8亿台&…

【环境配置】安装了pytorch但是报错torch.cuda.is_availabel()=Flase

解决思路&#xff1a;import torch正常&#xff0c;说明torch包安装正常&#xff0c;但是不能和gpu正常互动&#xff0c;猜测还是pytroch和cuda的配合问题 1.查看torch包所需的cuda版本 我的torch是2.0.1&#xff0c;在现在是比较新的包&#xff0c;需要12以上的cuda支持&…

【flutter项目类型】project type如何区分

通过项目中.metadata内容区分 如 # Used by Flutter tool to assess capabilities and perform upgrades etc. # # This file should be version controlled and should not be manually edited.version:revision: 85684f9300908116a78138ea4c6036c35c9a1236channel: stablep…

vs 撤销本地 commit 并保留更改

没想到特别好的办法&#xff0c;我想的是用 vs 打开 git 命令行工具 然后通过 git 命令来撤销提交&#xff0c;尝试之前建议先建个分支实验&#xff0c;以免丢失代码&#xff0c; git 操作见 git 合并多个 commit / 修改上一次 commit

PaddleNLP的简单使用

1 介绍 PaddleNLP是一个基于PaddlePaddle深度学习平台的自然语言处理&#xff08;NLP&#xff09;工具库。 它提供了一系列用于文本处理、文本分类、情感分析、文本生成等任务的预训练模型、模型组件和工具函数。 PaddleNLP有统一的应用范式&#xff1a;通过 paddlenlp.Task…

单片机学习笔记---静态数码管显示

目录 数码管是什么&#xff1f; 一位数码管的引脚定义 四位一体的数码管引脚定义 数码管的原理图解析 数码管怎么显示数据&#xff1f;&#xff08;总结代码显示&#xff09; 今天开始学习数码管&#xff0c;它比LED和独立按键复杂一点 数码管是什么&#xff1f; LED数码…

交叉编译opencv运行平台rk3588

opencv版本&#xff1a;4.8.0 opencv_contrib版本&#xff1a;4.8.0 在源码目录下建build目录&#xff0c;进入该目录配置编译选项生成makefile cmake 配置参数&#xff1a; cmake -DCMAKE_MAKE_PROGRAM:PATH/usr/bin/make -DCMAKE_INSTALL_PREFIX/home/rog/my_file/other_L…

「工业遥测」图表控件LightningChart在化工精炼领域中的应用

LightningChart.NET完全由GPU加速&#xff0c;并且性能经过优化&#xff0c;可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D&#xff0c;高级3D&#xff0c;Polar&#xff0c;Smith&#xff0c;3D饼/甜甜圈&#xff0c;地理地图和GIS图表以及适用于科学…

再谈启动一个Activity大致时序图

太多了&#xff0c;笔者不想写&#xff0c; 读者可通过PlantUML插件查看如下PUML文件生成的时序图。 补充说明下&#xff0c;Android31版本。 startuml https://plantuml.com/sequence-diagram skinparam dpi 800 scale 15000 width scale 5000 heightautonumber Launcher La…

搭建 prometheus + grafana + springboot3 监控

下载安装包 下载prometheus&#xff1a;https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.windows-amd64.zip 下载grafana&#xff1a; https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.1.windows-amd64.zip Spr…

未来时尚:数字化管理引领服装企业商品计划的创新浪潮

时尚产业正经历着一场数字化的浪潮&#xff0c;数字化管理正成为引领服装企业商品计划的不可忽视的创新力量。这一变革不仅影响了企业内部的运营方式&#xff0c;更深刻地塑造了未来时尚的面貌。本文将深入探讨数字化管理如何领导着服装企业商品计划进入创新浪潮&#xff0c;重…

数字图像处理(实践篇)三十八 OpenCV-Python实现ORB特征检测实践

​ 目录 一 涉及的函数 二 实践 ​ ORB(Oriented FAST and Rotated BRIEF)是一种特征点检测和描述算法,它结合了FAST关键点检测和BRIEF描述子。ORB算法具有以下优势: ①实时性:能够在实时应用中进行快速的特征点检测和描述。

DevExpress WinForms中文教程 - 如何创建可访问的WinForms应用?(一)

为用户创建易访问的Windows Forms应用程序不仅是最佳实践的体现&#xff0c;还是对包容性和以用户为中心的设计承诺。在应用程序开发生命周期的早期考虑与可访问性相关的需求可以节省长期运行的时间(因为它将决定设计决策和代码实现)。 一个可访问的WinForms应用程序提供了各种…

一个基于 .NET 7 + Vue.js 的前后端分离的通用后台管理系统框架 - DncZeus

前言 今天给大家推荐一个基于.NET 7 Vue.js(iview-admin) 的前后端分离的通用后台权限(页面访问、操作按钮控制)管理系统框架&#xff1a;DncZeus。 官方项目简介 DncZeus是一个基于 .NET 7 Vue.js 的前后端分离的通用后台管理系统框架。后端使用.NET 7 Entity Framework…