.NET 工具库
更新: 2024-03-27 16:35:56 字数: 0 字 时长: 0 分钟
整理个人使用过或遇到的工具库(C#/.NET SDK)
- Xunet 是 .NET 的通用工具库,包含扩展方法、辅助类和一些常用组件,用于简化开发和提高工作效率。站长开源
Top 10
- Newtonsoft.Json 广泛用于在 .NET 应用程序中处理 JSON 数据。它提供了高性能和易用性,使其成为 JSON 数据序列化和反序列化的首选解决方案。
- Dapper 简单而高效的 ORM,在处理关系数据库时提供了高性能和灵活性。它易于使用,并提供了一种与数据库交互的快速有效的方法。
- Polly 帮助处理 .NET 应用程序中的瞬时错误和故障的库。它提供了一种易于使用的基于策略的方法来处理重试、超时和断路器,使其成为构建可靠应用程序的宝贵工具。
- AutoMapper 通过自动将属性从一个对象映射到另一个对象来简化对象到对象的映射。这个库在大型项目中特别有用,因为在这些项目中,映射可能会变得既耗时又乏味。
- FluentValidation 构建验证规则提供了流畅的 API。它使创建复杂的验证逻辑变得容易,并支持广泛的验证场景,使其成为确保应用程序中数据完整性的有价值的工具。
- Serilog 结构化的日志库,可以很容易地从应用程序收集和分析日志。它提供了灵活性和可扩展性,并支持各种存储日志的 sink,包括 Elasticsearch、SQL Server 等。
- Swashbuckle.AspNetCore.Swagger 为您生成 OpenAPI 文档,.NET 核心组件,它使理解 API 的功能变得容易,并允许您轻松地为 API 生成客户端代码。
- NLog 免费的 .NET 日志平台,具有丰富的日志路由和管理功能。它可以轻松地为应用程序生成和管理高质量的日志,无论其大小或复杂程度如何。
- Moq4 流行的 .NET 应用程序模拟框架。它使得为单元测试创建模拟对象变得容易,从而减少了对昂贵且耗时的集成测试的需求。
- StackExchange.Redis 在 .NET 应用程序中使用 Redis 数据库,它提供了一种简单有效的方式与 Redis 交互,并提供高性能和可扩展性。
序列化和反序列化
- Newtonsoft.Json 广泛使用和完善的 Json 序列化和反序列化库,它提供了很多灵活性和定制选项。
- Swifter.JSon 是 .Net 平台上一个功能强大,简单易用,稳定及高性能的 Json 序列化和反序列化工具。
- System.Text.Json 是微软 .NET Core 官方的包,相比于 Newtonsoft.Json 来说,是一个精简的包。
日志记录
- NLog 流行程度不及 log4net,但支持的平台相当广泛,配置相对简单。
- log4net 是 .Net 平台上一个老牌的日志框架,功能比较强大,但配置相对复杂。
- Exceptionless 是一款轻量级、分布式日志管理框架,可以统一收集管理并展示出来程序的日志。
依赖注入
ORM 框架
- EFCore 面向.NET 的现代对象数据库映射器。支持 LINQ 查询、变更跟踪、更新和模式迁移。
- SqlSugar 国内开发者开发的一款高性能、轻量级的 ORM 框架。
- FreeSql 国外开发的一款功能强大的对象关系映射(O/RM)组件。
- NHibernate 国外开发的面向 .NET 环境的对象/关系数据库映射工具。
- Dapper 国外开源的一款简单、轻量级的 ORM 框架。
定时作业
- Hangfire 是一个支持 .NET 和 .NET Core 应用程序的跨平台的后台作业处理框架。
- FluentScheduler 是由一位巴西的 .NET 开发者 Talles L 开发并维护的 .NET 平台下的一款自动定时任务调度器组件,它提供了比较丰富的定时任务调度接口。
- Quartz.NET 是一个开源的定时作业调度项目,旨在创建一个免费商业使用的作业调度器,同时具有“企业级”的特性。目前的版本是支持跨平台的,即支持 .NET 和 .NET Core 的应用程序。
- TaskScheduler 是一个为 Windows 任务调度程序提供.NET 的封装组件,可以代替 Windows 操作系统自带的定时任务使用,提供了代码和编辑器两种方式创建定时任务。它聚合了多个版本,并提供编辑调度编辑器以快速创建定时任务。
- Coravel 是一个零配置的基于.NET 标准库的微组件,它包含了定时任务调度,缓存,队列,事件广播等等功能。
- Gofer.NET 是支持分布式的任务/作业调度组件,可以运行在.NET Core 应用程序中。
对象映射
- AutoMapper 是 .Net 功能最全的对象映射类库。
- TinyMapper 是 .NET 平台下的一个轻量级对象映射工具,号称是 .Net 平台下最快的对象映射组件,性能是 AutoMapper 的 6 倍,相对 AutoMapper 功能上少一些,Emit 的实现方案。
微服务
- Ocelot 是一个基于 .NET Core 的 API 网关,它可以将多个微服务的 API 统一转发和管理,功能强大,包含:路由、认证、请求聚合、限流熔断、服务发现、鉴权,还有内置负载均衡器、Consul 集成等等。
- CAP 用来处理分布式事务以及提供 EventBus 的功能,具有轻量级,高性能,易使用等特点。
- AgileConfig 基于.NET Core 开发的轻量级分布式配置中心。
桌面应用
- NanUI WinFormium 是 .NET 平台上的一个开源框架(曾用名:NanUI),用于使用 HTML5、CSS3 和 JavaScript 创建 WinForm 应用程序的用户界面。 它基于 Xilium.CefGlue 项目,该项目是 Chromium Embedded Framework (CEF) 的 .NET 实现。
- SunnyUI SunnyUI.NET 是基于.NET Framework 4.0+、.NET6、.NET7、.NET8 框架的 C# WinForm 开源控件库、工具类库、扩展类库、多页面开发框架。
- Electron.NET 构建跨平台桌面应用程序。. NET Core (Razor Pages, MVC, Blazor)。
自动化测试/爬虫
- SeleniumHQ selenium 的 .NET 实现。支持 web 浏览器自动化的一系列工具和库的综合项目。
- HtmlAgilityPack 基于.NET 实现的免费开源 HTML 解析器,用于读写 DOM,并支持普通 XPATH 或 XSLT。
其他
- TimeCrontab .NET 全能 Cron 表达式解析库,支持 Cron 所有特性。
- TinyPinyin.Net 适用于.NET 平台的快速、低内存占用的汉字转拼音库。