新手上路
3小时前
主楼
算法和数据结构
- OneOf - OneOf 为 C# 提供了带有编译时完全匹配的区分联合。
- Algorithmia - Algorithmia 是适用于 .NET 3.5 及以上版本的算法和数据结构库。Algorithmia 包含了复杂的算法和数据结构,如图、优先队列、命令、撤销重做等。
- Towel - 数据结构、算法、数学、元数据、扩展、控制台、测量和其他实用工具。
- Akade.IndexedSet - 一个方便的数据结构,支持高效的内存索引和查询,包括范围查询和模糊字符串匹配。
API
- FastEndpoints - 经典 ASP.NET Core API 控制器和 Minimal APIs 之间高性能的中间层。使用 REPR(请求-端点-响应)模式,该库通过改进代码的共存性消除了控制器的样板代码和庞大感。
- Telegram.Bot - 用于 Telegram Bot API 的 .NET 客户端
- WTelegramClient - 使用 Telegram Client API 的最新版本自动管理 Telegram 用户账户
- ASP.NET Web API - 一个易于构建可被广泛客户端(包括浏览器和移动设备)访问的 HTTP 服务的框架
- Breeze - 支持使用 OData 3 协议实现丰富数据访问的 API 框架。提供 JavaScript 和 C# 的客户端库。
- Mobius: C# API for Spark - Mobius 为 Apache Spark 添加了 C#语言绑定,使得可以在 C#中实现 Spark 驱动代码和数据处理操作。
- ServiceStack - 精心设计,极速,令人愉悦的适用于所有领域的网络服务
- Ocelot - .NET core API 网关
- CommandQuery - 命令查询分离,适用于 🌐ASP.NET Core ⚡AWS Lambda ⚡Azure Functions ⚡Google Cloud Functions 🌐ASP.NET Web API 2
- Population.NET - 一个 .NET 库,允许客户端指定他们需要的精确字段,通过避免默认检索所有字段来减少不必要的数据传输。
- Wissance.WebApiTookit - 一套简化的库和类,用于构建 REST API 和 gRPC 服务,只需一行代码即可创建一个功能完整的 REST 控制器。
应用框架
- .NET Boxed Framework - .NET Core 扩展和辅助 NuGet 包
- ASP.NET Boilerplate - 新现代 ASP.NET MVC Web 应用程序的最佳实践和最受欢迎工具的起点。
- ABP - ASP.NET Boilerplate Web 应用程序框架的下一代。
- Orleans - Orleans 是一个框架,它提供了一种直接的方法来构建分布式高性能计算应用程序,无需学习和应用复杂的并发或其他扩展模式。
- Runtime - 运行时存储库包含.NET(5+)的库实现(以前称为"CoreFX")。它包括 System.Collections、System.IO、System.Xml 以及其他许多组件。
- CSLA .NET - 业务层开发框架 https://cslanet.com/
- Mono - 开源 ECMA CLI、C#、F#、VB 和 .NET 实现
- peasy - Peasy 是一个中间层框架,提供了一个易于使用且灵活的规则引擎,旨在解决并发处理、事务支持、容错性、线程、可扩展性、异步和多客户端支持等常见挑战,且无需复杂的学习曲线!
- Plastic - Plastic 提供了对领域、应用规则、业务规则或业务逻辑在应用中的封装。为此,使用了命令模式。
- Signals - Signals 是一个基于 .NET5 的框架,通过提供工具、方面和流程来提高开发团队的质量和生产力。
- Spring.Net - Spring.NET 是一个开源的应用程序框架,它简化了企业.NET 应用程序的构建
- DotNetty - DotNetty 是 Netty 的一个端口,是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端
- AspectCore Framework - AspectCore Framework 是一个基于面向切面编程的跨平台框架,用于.NET Core 和.NET Framework。核心支持切面拦截器、依赖注入集成、Web 应用程序、数据验证等
- Fusion - .NET Core 和 Blazor 库,试图通过引入一种新型的"计算可观察对象"来显著改善我们实现实时和高负载服务的方式 - 这些对象是不可变的、线程安全的,最重要的是,对开发者几乎不可见。示例 1 示例 2
- silky - Silky 框架旨在帮助开发者通过简单的代码和配置,在 .net 平台上快速构建微服务开发框架。
- Positron-JS - 一个高级 Web View (PositronWebView),具有原生 JavaScript 上下文,可从混合应用程序中访问 .net API,灵感来自 capacitor/cordova。
应用模板
- .NET Boxed Templates - 提供“电池即插即用”功能的 .net 项目模板,提供最少量的代码,帮助您更快地启动。
- ASP.NET Core Starter Kit - 后端:.NET Core, EF Core, C#;前端:Babel, Webpack, React, CSS Modules
- ProjectScaffold - 由 F#基金会推荐的典型.NET 解决方案---包含文件系统设置、Paket 用于依赖管理以及 FAKE 用于构建/测试自动化。默认情况下,构建过程还会编译文档并生成 NuGet 包。
- Serene - Serenity 是一个 ASP.NET MVC 应用平台,旨在简化基于服务的面向数据业务应用的开发。Serenity 是一个用于构建 Serenity 应用的启动模板。
- Side-Waffle - 大量适用于 Web 和桌面开发的实用模板。
- Template10 - Windows 10 模板,包含设计模式。
- Nucleus - 使用 ASP.NET Core API 分层架构作为后端,基于 JWT 进行身份验证的 Vue 启动应用程序模板。
- JHipster.NET JHipster 蓝图,用于替换原始 SpringBoot 后端为 ASP.NET Core。JHipster 的主要目标是展示 Java 现代 Web 开发的最佳实践。因此,该项目的目标是在.NET 中实现相同的目标。前端可以使用 Angular 或 React 生成,即将支持 Blazor。- 注意:此项目与 Microsoft 或.NET 无关
人工智能
- LLamaSharp - C#/.NET llama.cpp 绑定,无需编译 lama.cpp 即可使用 C# 运行 LLaMA/GPT 模型。
- LlmTornado - 一个 .NET 库,用于消费 OpenAI、Anthropic、Cohere、Google、Azure、Groq 和自托管 API。
Assembly Manipulation
- Fody - 可扩展的 .NET 程序集织入工具。
- ILRepack - ILMerge 的开源替代品。
- Mono.Cecil - Cecil 是一个用于生成和检查 ECMA CIL 格式程序和库的库。
资产
- Bundle Transformer - Microsoft ASP.NET Web Optimization Framework的模块化扩展。其模块支持 LESS、Sass、CoffeeScript、TypeScript、Mustache、Handlebars 以及多种 JS 和 CSS 压缩器。
身份验证和授权
- Abblix OIDC Server - 由 OpenID 基金会完全认证的 .NET OpenID Connect 服务器库,为所有配置提供全面的 OAuth2 和 OpenID Connect 支持。[$][非商业用途免费]
- ASP.NET Core Identity - ASP.NET 应用的新成员系统
- ASP.NET SAML - ASP.NET 应用的 SAML 身份验证支持
- Logibit Hawk - 一个 F# Hawk 认证库
- Logto - 适用于现代应用程序和 SaaS 产品的 IAM 基础设施,支持 OIDC、OAuth 2.0 和 SAML 进行认证和授权 [$][免费用于 OSS]
- IdentityModel - 用于 .NET 4.5 和 MVC4/Web API 的身份和访问控制辅助库。
- openiddict - .NET 的灵活且多功能的 OAuth 2.0/OpenID Connect 堆栈
- Topaz - 一个基于 .NET SDK 的细粒度授权系统。
- Enforcer - 以易于阅读的语言编写细粒度授权策略,并将其编译为原生 .NET 代码 [$]
- SAML IdentityServer - 为您的 Duende IdentityServer 添加 SAML 2P 支持 [$]
- SAML OpenIddict - 为您的 OpenIddict 添加 SAML 2P 支持 [$]
后台处理
- BusyBee - 用于 .NET 应用的快速、内存中后台任务处理,具有可配置的队列、超时、并行性和内置的 OpenTelemetry 支持。
Blazor
- BootstrapBlazor - 基于 Bootstrap 和 Blazor 的一套企业级 UI 组件。- 注意:此项目与微软或 .NET 无关联。
- ant-design-blazor - 基于 Ant Design 和 Blazor WebAssembly 的一套企业级 UI 组件。
- MASA.Blazor - 基于 Material Design 和 Blazor WebAssembly 的一套企业级 UI 组件。
- Megabit.Blazorise - Blazorise 是基于 Blazor 和 Bootstrap、Bulma 和 Material 等 CSS 框架构建的组件库。非常易于使用。
- blazork8s - Blazor 和 .NET Core 中的 k8s 管理界面。
- MudBlazor - 一个用于 Blazor 的 Material Design 框架,允许 .NET 开发者快速构建 Web 应用,具有丰富的文档和示例。
区块链
- Nethermind - 完整的 .NET Core Ethereum 客户端
构建自动化
- Psake - 基于 .NET 的 PowerShell 编写的构建自动化工具
- FAKE - F# Make,一个跨平台的构建自动化系统
- Invoke-Build - 受 Psake 启发的 PowerShell 构建和测试自动化工具。
- MSBuild - Microsoft 构建引擎 (MSBuild) 是 .NET 和 Visual Studio 的构建平台
- Cake - Cake (C# Make) 是一个跨平台的构建自动化系统,具有 C# DSL。
- Nake - 基于魔法脚本式的 C# 任务运行器
- Nuke - 跨平台构建自动化系统
- FlubuCore - 用于构建项目和执行部署脚本的跨平台构建和部署自动化系统,使用 C# 代码。- 注意:此项目与微软或 .NET 无关
- ModularPipelines - 使用 C# 编写您的管道
商业智能
- FastReport - 用于 .NET Core 2.x/.Net Framework 4.x 的开源报表生成器。FastReport 可用于 ASP.NET MVC、Web API 应用程序。
- NReco PivotData - 内存数据聚合/OLAP 库,数据透视表生成(渲染为 HTML,导出),ASP.NET 数据透视表构建控件 [$][单部署/非 SaaS 免费使用]
缓存
- CacheCow - 一个在客户端和服务器端都实现的 ASP.NET Web API HTTP 缓存实现
- Akavache - 一个异步的持久化键值存储
- EasyCaching - 一个包含基本和部分高级缓存的缓存库,可以帮助更轻松地处理缓存!- 注意:此项目与微软或 .NET 无关
- CacheManager - 一个通用的缓存接口和抽象层
- FastCache - .NET 中
MemoryCache的 10 倍速替代方案 - Foundatio - 支持内存、Redis 和混合实现的通用缓存接口
- Cache Tower - .NET 的高效多层缓存系统(内存、Redis、数据库、文件等)
- FusionCache - 易于使用、高性能且稳定的缓存系统,支持可选的分布式第二层和一些高级功能,如故障安全机制和高级超时管理
- BitFaster.Caching - 线程安全的内存缓存,针对极高的并发吞吐量、接近最优的命中率以及低延迟进行了优化。
日历
- iCal.NET iCal.NET 是一个用于 .NET 的 iCalendar (RFC 5545) 类库,旨在提供 RFC 5545 兼容性,同时与流行的日历应用程序和库完全兼容。
聊天
- Stream Stream Chat 官方.NET API 客户端,用于构建聊天应用程序的服务。
命令行界面
- Argu - 用于 F#应用程序的声明式 CLI 参数和 XML 配置解析器。
- CliFx - 用于构建命令行界面的声明式框架。
- CliWrap - 命令行界面的包装器。
- CommandDotNet - 使用 C# 以组合方式对控制台应用程序进行建模。使用方法定义命令。使用属性或嵌套类定义子命令。可扩展的解析和命令执行。
- Command Line Parser - Command Line Parser 库为 CLR 应用程序提供了一个干净简洁的 API,用于操作命令行参数及相关任务。
- CommandLineUtils - 这是 Microsoft.Extensions.CommandLineUtils 的分支,该库已不再积极开发。
- Docopt - 命令行界面描述语言,将让你微笑。
- Gui.cs - 用于 .NET 的终端 UI 工具包。
- Power Args - PowerArgs 将命令行参数转换为易于编程的 .NET 对象。它还提供许多可选功能,如参数验证、自动生成的使用说明、Tab 补全以及丰富的可扩展性。
- SharpNetSH - C# 的一个简单 netsh 库。
- spectre.console - 一个使创建美观控制台应用程序更简单的库。
CLR
- Runtime - Mono 和 CoreCLR .NET 运行时,以及标准库和一些高级组件,如
System.Linq和System.Text.Json。
CMS
- FluentCMS - FluentCMS 是一个开源的 AI 驱动型 ASP.NET Core Blazor 内容管理系统(CMS)。
- Composite C1 - 一个专注于用户体验和适应性的网络 CMS
- mojoPortal - MojoPortal 是一个用 C# ASP.NET 编写的可扩展、跨数据库、移动友好型网络内容管理系统(CMS)和网络应用程序框架
- Orchard - 一个免费、开源、以社区为中心的项目,旨在在 ASP.NET 平台上交付应用程序和可重用组件
- Piranha CMS - Piranha 是一个有趣、快速且轻量级的.NET 框架,用于开发基于 CMS 的 Web 应用程序,并带有额外的特色。它基于 ASP.NET MVC 和 Web Pages 构建,并与 Visual Studio 和 WebMatrix 完全兼容。https://piranhacms.org
- Umbraco - Umbraco 是一个基于 ASP.NET 平台的免费开源内容管理系统
- DotNetNuke - DNN Platform 是我们免费、开源的 Web 内容管理系统,是每个专业 DNN 解决方案的基础。全球已有超过 750,000 家组织使用 DNN Platform 构建网站。
- Squidex
- 开源头内容管理系统和内容管理枢纽。https://squidex.io
- fluent-cms - RESTful CRUD(创建、读取、更新、删除)API,管理面板网页,GraphQL 风格的查询设计器和所见即所得网页设计器,所有功能均可无需编写代码进行完全配置。
代码分析与指标
- .NET 编译器平台 ("Roslyn") 分析器 - 一系列最初为帮助完善静态分析 API 的设计和实现而开发的 Roslyn 诊断分析器。
- PVS-Studio - PVS-Studio 是一个守护代码质量的静态分析器,负责代码质量(SAST)和代码安全。[免费用于 OSS] [$]
- NDepend - 是一个 Visual Studio 和 VS Team Services 扩展,用于评估您的 .NET 代码质量和技术债务,允许使用 C# LINQ 语法创建代码规则,可视化代码结构并关注变更和演进。[$]
- StyleCop - StyleCop 分析 C# 源代码以强制执行一组样式和一致性规则
- BenchmarkDotNet - 强大的 .NET 性能基准测试库。
- Bencher - 一套持续基准测试工具,旨在在 CI 中捕获性能回归。
- NsDepCop - 静态代码分析工具,用于在 C# 项目中强制执行命名空间依赖规则。
- WebBen - 是一个用于基准测试您的超文本传输协议(HTTP)服务器的工具。
代码片段
- .NET Fiddle - 在浏览器中编写、编译和运行 C#、F# 和 VB 代码。.Net 版本的 JSFiddle。
- Sharplab - 使用不同分支和版本的 Roslyn 运行 C# 代码,查看生成的 IL 并检查 JIT 的输出。
- Entity Framework Playground - 通过在浏览器中编写
DbContext并使用它来执行迁移和查询,检查生成的 SQL。通过示例学习,比较不同版本的 Entity Framework 以及 MS SQL、PostgreSql 和 Sqlite 等提供程序。
编译器、转换器和语言
- ClojureCLR - Clojure 在 C# 中的 CLR 版本
- ClojureCLR Next - Clojure CLR 的 F# 重写版本
- F# - F# 编程语言赋予每个人编写简洁、健壮且高效的代码的能力
- Fable - F# 到 JavaScript、TypeScript、JSX、Python、Dart 和 Rust 的转换器
- Eiffel - Eiffel for .NET 是在 .NET 环境中可用的 Eiffel 编程语言。
- Rust - 用于 .NET 的实验性 Rust 编译器
- Wrapped Mono - Rust 中嵌入的 Mono 运行时。
- Hybridizer - CIL(C#、VB.Net、F#、ClojureCLR、...)到 CUDA 编译器。[$]
- IronScheme - R6RS Scheme 编译器、运行时和许多标准库。
- Mond - 一种用 C#编写的动态类型脚本语言,具有 REPL、调试器和简单的嵌入 API。
- Lua-C# - 在 .NET 上使用 C# 实现的 Lua
- Nemerle - Nemerle 是一种用于 .NET 平台的高级静态类型编程语言。它提供函数式、面向对象和命令式特性。它具有类似 C# 的简单语法和强大的元编程系统。
- P - P 是一种用于异步事件驱动编程的语言。
- PeachPie - PeachPie 是一个用于 .NET 和 .NET Core 的 PHP 编译器和运行时,它允许整个 PHP 应用程序在现代、安全且性能优越的 .NET 和 .NET Core 平台上运行。
- Roslyn - .NET 编译器平台(“Roslyn”)提供开源的 C# 和 Visual Basic 编译器,并具有丰富的代码分析 API。它能够使用与 Visual Studio 相同的 API 构建代码分析工具。
- PascalABC.NET - .NET 上的 Pascal 实现。
- Iron Python - 与 .NET 框架集成的 Python 3 实现。
- IKVM - .NET 的 Java 虚拟机和字节码到 IL 转换器。在 .NET 上执行编译的 Java 代码(字节码)。
- Lib.Harmony - 一个用于在运行时修补、替换和装饰 .NET 和 Mono 方法的库,主要用于游戏模组开发。
- dotnet-repl - 基于 .NET Interactive 构建的多语言 REPL。
压缩
- SharpCompress - SharpCompress 是一个用于 .NET/Mono/Silverlight/WP7 的压缩库,可以解 rar、解 7zip、解 zip、解 tar、解 bzip2 和解 gzip,支持单向读取和文件随机访问 API。实现了对 zip/tar/bzip2/gzip 的写入支持。
- FastLZMA2NET - Fast LZMA2 Algorithm 的 .NET 封装。
配置
- AgileConfig - AgileConfig 是一个轻量级配置中心,通过网站帮助您管理所有应用程序的配置。- 注意:此项目与微软或 .NET 无关。
持续集成
- TeamCity - 即用型、可扩展且开发者友好的构建服务器——开箱即用 [$]
- MyGet - 持续集成与部署,NuGet、NPM、Bower 和 VSIX 的托管包仓库 [$]
- AppVeyor - .NET 持续集成与部署服务。[$] [免费用于开源项目]
密码学
- BouncyCastle - 与 .Net System.Security.Cryptography 一起,CLR 上加密算法的参考实现。
- NaCl.Core - 一个仅用于 .NET 的加密库,提供现代加密原语。
- Paseto.Core - .NET 的 Paseto(平台无关安全令牌)实现。
- Pkcs11Interop - 用于未管理 PKCS#11 库的 .NET 管理封装器,提供对加密硬件的访问。
- SecurityDriven.Inferno - .NET 加密库。经过专业审计。
- CryptoNet - .NET 简单加密库。原生 c#。
云存储
- Foundatio - 支持 AWS、Azure 和许多其他提供商的云存储库。
- FluentStorage - 一个多云.NET 云存储抽象层,最初称为 Storage.Net。提供 Blob 存储(AWS S3、GCP、FTP、SFTP、Azure Blob/File/Event Hub/Data Lake)和消息(AWS SQS、Azure Queue/ServiceBus)的通用接口。
- Stowage - 无冗余、零依赖的 .NET 云存储套件,支持至少主流云服务提供商。
- Cloud Storage :- 该库提供了一种通用的接口,用于访问和操作不同云块存储提供商(Azure 存储、AWS S3、Google 云存储)中的数据。它使得在不同提供商之间切换或同时使用多个提供商变得容易,而无需学习和使用多个 API。
数据库
- RocksDB - Facebook 的 RocksDB 键值存储的 C# 绑定 + Windows、macOS 和 Linux 的原生构建
- DBreeze - DBreeze 数据库是一个开源的嵌入式键值存储
- Event Store - 一个具有 JavaScript 中复杂事件处理的开放源代码函数数据库
- LiteDB - 一个 .NET NoSQL 文档存储,位于单个数据文件中 - https://www.litedb.org
- RavenDB - 一个支持 LINQ 的 .NET 文档数据库
- Marten - 将 PostgreSQL 作为 .NET 应用的文档数据库和事件存储
- Realm Xamarin - 一个快速、易用的 SQLite 和 ORM 替代方案 - https://realm.io/docs/dotnet/latest/
- Streamstone - Azure Table Storage 的事件存储
- Ignite - 分布式内存平台:支持 SQL 和 LINQ 的文档数据库;分布式计算;分布式服务和事件。
- Yessql - 适用于任何 RDBMS 的 .NET 文档数据库
- JsonFlatFileDataStore - 简单的 JSON 平面文件数据存储,支持类型化和动态数据
- ZoneTree - 持久化、高性能、事务性且符合 ACID 的有序键值数据库,适用于 .NET。
数据库驱动程序
- DuckDB.NET - DuckDB 的 .NET 数据提供程序
- MySQL Connector - Connector/Net 是一个用于 MySQL 的完全托管的 ADO.NET 驱动程序
- Npgsql - 用于 PostgreSQL 的 .NET 数据提供程序
- MongoDB - 官方 MongoDB C# 驱动程序
- ServiceStack Redis - .NET 的领先 C# Redis 客户端
- StackExchange Redis - 来自 StackExchange 的通用 Redis 客户端
- Cassandra - DataStax 的 Apache Cassandra .NET 驱动程序
- Couchbase - 官方 Couchbase .NET 客户端库,基于 Enyim memcached 客户端
- Firebird.NET - .NET 数据提供程序以 C#编写,提供 Firebird API 的高性能原生实现
- Rqlite-dotnet - rqlite 的.NET 客户端(基于 SQLite 的分布式关系型数据库)
Datetime
- NodaTime - Noda Time 是.NET 的另一种日期和时间 API。它帮助你更清晰地思考数据,并更精确地表达对该数据的操作。https://nodatime.org/
- DateTimeExtensions - 以
System.DateTime扩展形式提供的常见日期时间操作,包括多个文化区域的节假日和工作日计算。 - Exceptionless.DateTimeExtensions - DateTimeRange、工作日以及各种
DateTime、DateTimeOffset、TimeSpan扩展方法。
反编译
- dnSpy - 开源的 .NET 程序集浏览器、编辑器、反编译器和调试器
- dnSpyEx - dnSpy 的非官方复兴版本
- ILSpy - ILSpy 是一个开源的 .NET 程序集浏览器和反编译器
- dotPeek - 基于 ReSharper 内置反编译器开发的免费独立工具。它可以可靠地将任何 .NET 程序集反编译为等效的 C# 或 IL 代码。它可以直接根据原始二进制文件创建 Visual Studio 解决方案。[专有] [免费]
部署
- DbUp - 一个 .NET 库,帮助您将更改部署到 SQL Server 数据库。它跟踪哪些 SQL 脚本已经运行,并运行需要更新的更改脚本以使您的数据库保持最新状态
DirectX
- Vortice.Windows - 跨平台的 .NET 标准库,支持 DirectX、WIC、Direct2D1、XInput、XAudio 和 X3DAudio
Desktop
- Sucrose Wallpaper Engine - Sucrose 是一款多功能壁纸引擎,通过丰富的交互式壁纸为您的桌面带来活力。
分布式计算
- .NEXT Raft - .NET 和 ASP.NET Core 的 Raft 实现,允许构建由分布式共识和复制支持的集群微服务
- Orleans - Orleans 是一个框架,提供了一种简单的方法来构建分布式高规模计算应用程序,无需学习和应用复杂的并发或其他扩展模式。它由微软研究院创建。
- Orleankka - Orleankka 是微软 Orleans 框架的功能 API。它非常适合需要可组合、统一通信接口的场景,例如:CQRS、事件溯源、重路由、FSM 等。还提供了针对 F# 的额外 API,称为 Orleankka.FSharp。
- Akka.net - Akka.NET 是流行 Java/Scala 框架 Akka 的 .NET 版本。这是一个社区驱动的移植版本,与制作原始 Java/Scala 版本的 Typesafe 无关。
- Zebus - Zebus 是一个轻量级、高度多功能的点对点服务总线,以 CQRS 原则构建。它允许应用程序以快速简便的方式相互通信。大部分复杂性都隐藏在库中,您可以专注于编写对您重要的代码,而不是调试消息代码。任何分布式应用都非常基础的基础。
- protoactor-dotnet - Proto Actor - 超快 Golang 和 C# 分布式演员。
DLR
文档
- Sandcastle - 类似于 NDoc 的 Sandcastle Help File Builder
- SourceBrowser - 为 https://referencesource.microsoft.com 提供动力的源代码浏览器网站生成器
- Swashbuckle - 无缝为 Web API 项目添加 Swagger
- F# Formatting - 用于从 F# 脚本文件、Markdown 文档和内联 XML 或 Markdown 注释中记录 F# 和 C# 项目的工具
- DocFX - 用于构建和发布 .NET 项目 API 文档的工具
- DocNet - 您友好的静态文档生成器,使用 Markdown 文件构建内容。
- HubDocs - 类似 Swagger 的 UI 工具,但用于 SignalR 节点——自动发现您的节点,探索方法,调用,预览实时客户端消息。
电子商务与支付
- NopCommerce - nopCommerce。免费开源电子商务购物车(ASP.NET Core)
- ServiceStack.Stripe - stripe.com REST API 的.NET 类型化客户端
- SmartStoreNET - 免费 ASP.NET Core MVC 电子商务购物车解决方案
- Stripe.Net - Stripe.net 是 https://stripe.com/的全面服务.NET API
- Virto Commerce - Virto Commerce 是第二代产品,是目前唯一完全在开源许可证下提供的 enterprise level e-commerce 产品。Virto Commerce 基于 .NET 4.5,广泛使用了 MVC、IoC、EF、Azure、AngularJS 以及许多其他前沿技术。它可以在 Microsoft Cloud (Azure)、Amazon Web Services (AWS) 以及本地环境中部署。https://virtocommerce.com
- SimplCommerce - 基于构建的超级简单电商系统 .NET Core。易于使用和定制。得益于 .NET Core,您可以在 Windows、Linux 上运行 SimplCommerce。支持多种 RDBMS:Microsoft SQL Server、PostgreSQL、MySQL
- GrandNode - 无头、多供应商、多租户,基于 .NET Core 5.0 和 MongoDB 的最先进的开源电商平台。
- Adyen - Adyen 官方 .NET 支付 API 库
模拟器
- Blzhawk - BizHawk 是一款用 C# 编写的多系统模拟器。BizHawk 为休闲玩家提供了全屏和手柄支持等良好功能,同时还为所有系统核心提供了完整的重录和调试工具。
环境管理
- Dotnet CLI - 跨平台的 .NET Core 命令行工具链实用程序。
ETL
- Cinchoo ETL - .NET 的 ETL 框架(读取/写入 CSV、平面、Xml、JSON、键值格式化文件)
- EtlBox.Classic - 基于.NET 的轻量级 ETL(提取、转换、加载)库和数据集成工具箱,构建在 Microsoft TPL.Dataflow 库之上。
事件聚合器和消息传递者
- Mediator.Net - 一个用于 .NET 的简单中介者,支持发送命令、发布事件和请求响应,并支持管道
- MediatR - .NET 中简单、不具野心的中介实现
- EventFlow - EventFlow 是一个面向 .NET 的基于 Async/await 的 CQRS 和事件溯源 DDD 框架
- LiteBus ——一个易于使用且雄心勃勃的进程内中介者,为实现命令查询分离(CQS)提供基础
异常
- Exceptionless - Exceptionless .NET 客户端
扩展
- ExtensionMethods.Net - 收集扩展方法的网站
功能管理
- Microsoft.FeatureManagement - 该库提供了一种基于功能标志开发和暴露应用程序功能的方式。它支持新功能发布和 A/B 测试等场景,用于实验目的。它还提供了与常见的 .NET 编码模式和 ASP.NET Core 的集成。
- OpenFeature - OpenFeature 是一种用于功能标志管理的开放标准,旨在提供统一的 API 和 SDK,使开发人员能够将功能标志评估与特定供应商的实现解耦。它促进了互操作性、灵活性和跨不同工具和平台管理功能标志的标准化。
函数式编程
- language-ext - 该库利用并充分利用 C# 6+ 的特性,提供了一个功能性的“基础类库”,如果你眯起眼睛看,它看起来就像是语言本身的扩展。它还包括一个“类似 Erlang”的进程系统(演员),可以可选地将消息和状态持久化到 Redis(注意,你可以不使用 Redis 进行应用内消息传递)。该进程系统还支持 Rx 消息流和状态,允许实现完整的响应式事件和消息调度系统。
- MoreLinq - 为 LINQ to Objects 提供额外的方法。
游戏
- MonoGame - 一个框架,用于创建强大的跨平台游戏。
- FNA - FNA 是 XNA4 的一个重新实现,专注于开发适用于桌面的完整精确的 XNA4 运行时。
- Duality - Duality 是一个 2D 游戏开发框架。专注于模块化,附带一个可视化编辑器。
- Stride Game Engine - Stride Game Engine 是一个支持 2D/3D 的跨平台游戏引擎,具有场景编辑器、粒子效果、基于物理的渲染(PBR)、脚本功能等。
- Wave Engine - Wave engine 是一个免费的 C# 组件式现代游戏引擎,允许你创建支持 Kinect、Oculus Rift、Vuforia、Cardboard、Leap Motion 等的跨平台游戏。[免费][专有]
- Nez - Nez 是一个专注于 2D 的免费框架,可与 MonoGame 和 FNA 一起使用。
- BEPUphysics - BEPUphysics 是一个纯 C# 的 3D 物理库
- osu!framework - 一个用 C# 编写的 2D 应用程序/游戏,旨在实现出色的游戏体验。
- DotRecast - Recast & Detour 的移植版本,游戏导航网格工具集,适用于游戏、Unity3D、服务器、C#
- Foster - Foster 是一个用 C# 编写的小型跨平台 2D 游戏框架
- Friflo.Engine.ECS - 高性能 C# ECS,API 简洁。支持 .NET、WASM/WebAssembly、原生 AOT、Unity、Godot、MonoGame、...
- Box2D.NET - Box2D 的 C#版本,一个用于游戏、服务器和 Unity3D 的 2D 物理引擎
地理信息系统
- NetTopologySuite 一个适用于 .NET 平台、快速可靠的 .NET GIS 解决方案
- OsmSharp - 用于处理 OpenStreetMap (OSM) 数据的 C# 库。提供对 OSM 数据的读取、写入和路径规划功能。
- GeoJSON.NET - 用于 GeoJSON 类型及相应的 Json.Net (de)序列化器的 .Net 库
- CoordinateSharp - 轻松解析或转换坐标格式,并计算基于位置的太阳/月球信息。
- DEM Net Elevation API - 用于数字高程模型的 .Net 库,允许在 glTF / STL 格式中生成 3D 地形。
Git 工具
- Husky.Net - 使用 Husky.Net 内部任务运行器轻松实现 Git 钩子,您可以在提交或推送时使用它来检查提交信息、运行测试、检查代码等... 支持 C#脚本、gitflow 钩子、多个文件状态(已暂存、上次提交、全局匹配)
- GitExtensions - GitExtensions 是一个 shell 扩展、Visual Studio 2008/2010/2012/2013 插件以及一个独立的 Git 仓库工具。https://gitextensions.github.io/
- GitVersion - 根据您的 Git 仓库状态生成语义版本号
- LibGit2Sharp - LibGit2Sharp 将 libgit2 的强大功能和速度带到 .NET 和 Mono 的托管世界中,libgit2 是一个原生 Git 实现。
- posh-git - 一个用于 Git 的 PowerShell 环境
- Git Credential Manager - 帮助解决凭证问题
Graphics
- Oxyplot - OxyPlot 是一个跨平台的.NET 绘图库
- OpenTK - Open Toolkit 是一个高级、低级别的 C# 库,封装了 OpenGL、OpenCL 和 OpenAL
- Aspose.Drawing - 完全托管、跨平台的完整 2D 图形库,用于绘制文本、几何图形和图像,具有与 System.Drawing 兼容的 API。[$]
- ScottPlot - 用于交互式显示大型数据集的绘图库。支持线图、柱状图、饼图、散点图等。它支持 WinForms、WPF、Avalonia、Console。
- LiveCharts2 - .Net 的简单、灵活、交互式且强大的图表、地图和仪表板。LiveCharts2 支持 WPF、WinForms、Xamarin、Avalonia、WinUI、UWP。
- Helix Toolkit - Helix Toolkit 是一个用于 .NET 的 3D 组件集合
- AssimpNet - 一个跨平台的 .NET Standard 封装库,用于 Open Asset Importer ("Assimp")。该库支持 3D 模型的导入、处理和导出,用于图形/游戏应用的渲染。支持超过 40 种导入格式(例如 OBJ、FBX、GLTF、3DS、Collada),其中部分格式可以导出(例如 OBJ、GLTF、3DS、Collada)。网格处理功能允许生成或优化网格数据,以用于实时渲染。
- Silk.NET - 一个跨平台、高性能、低级别的 .NET Standard 封装库,支持许多高级 API,如 OpenGL、OpenCL、OpenAL、OpenXR、Assimp、GLFW 以及其他许多 API。除了封装原生 API 外,它还提供了自己的窗口和输入抽象。这使得使用 Silk.NET 进行游戏和应用开发变得非常简单,几乎包含了 3D 应用开发者所需的一切。
- Veldrid - 一个用于 .NET 的低级、可移植的图形和计算库
- VectSharp - 用于创建矢量图形和文本的 .NET 库,然后将其导出为 PDF、SVG 和位图格式。
GraphQL
- GraphQL.NET - Facebook 的 GraphQL 在 .Net 中的实现
- HotChocolate - 兼容所有符合 GraphQL 规范的客户端的 GraphQL 服务器,例如 Strawberry Shake、Relay、Apollo Client 以及各种其他客户端和工具。
- EntityGraphQL - 用于在数据模型之上构建 GraphQL API 的库,具有可扩展性,可以轻松将多个数据源整合到单个 GraphQL 模式中(EF 不是必需的 - 任何与 LinqProvider 或内存对象协同工作的 ORM 都可以工作)。
- ZeroQL - 高性能、对 C# 友好的 GraphQL 客户端。它支持类似 LINQ 的语法。它不需要 Reflection.Emit 或表达式。因此,运行时提供了接近原始 HTTP 调用的性能。
GUI
GUI - 框架
- Avalonia - 一个跨平台的 .NET UI 框架(曾被称为 Perspex)。
- Windows UI Library - Windows UI Library (WinUI) 为 Windows UWP 应用提供官方的原生 Microsoft UI 控件和功能。
- UNO Platform - 唯一的平台,用于使用 C#、XAML 从单一代码库构建原生移动、桌面和 WebAssembly 应用。开源并由专业团队支持。网站:platform.uno
- Xamarin.Forms - 从单一的共享 C# 代码库构建适用于 iOS、Android 和 Windows 的原生 UI。
- Eto.Forms - 用于桌面和移动应用程序的跨平台 GUI 框架,基于.NET 和 Mono
- Gtk# - Gtk#是 Mono/.NET 对跨平台 Gtk+GUI 工具包的绑定,是使用 Mono 构建的大多数 GUI 应用程序的基础
- QtSharp - Qt 的 Mono/.NET 绑定
- SciterSharp - 使用 HTML 以及 Sciter 引擎的所有功能(CSS3、SVG、脚本、AJAX、<video> 等)创建.NET 跨平台桌面应用程序。Sciter 是商业用途免费的
- XWT - 一个跨平台的 UI 工具包,用于使用 .NET 和 Mono 创建桌面应用程序
- Qml.Net - 一个跨平台的 Qml/.NET 集成,适用于 Mono/.NET/.NET Core
- Lara - Lara Web Engine 是一个用于在 C# 中开发 Web 用户界面的库 - (Blazor 服务器端替代方案)
- Neutronium - 使用 HTML、CSS、javascript 和 MVVM 绑定(如 WPF)构建 .NET 桌面应用程序
- photino.NET - Photino 是一个轻量级开源框架,用于使用 Web UI 技术构建原生、跨平台的桌面应用程序。
GUI - 主题控制工具包
- Modern UI for WPF - MUI - 一套控件和样式,用于将 WPF 应用程序转换为外观极佳的现代 UI 应用程序。
- MahApps.Metro - 用于创建 Metro 风格 WPF 应用的工具包
- MaterialSkin - 为 .NET WinForms、C# 或 VB.Net 应用提供 Google Material Design 原则的样式主题。
- AdonisUI - 专为 WPF 应用设计的轻量级 UI 工具包,提供经典且增强的 Windows 视觉效果。
- Bunifu UI Framework - 精心设计的 Winforms 控件和组件,用于创建令人惊叹的现代应用程序 UI。[$]
- HandyControl - 包含一些简单且常用的 WPF 控件。
- MaterialDesignInXamlToolkit - 用于创建 Material Design 风格 WPF 应用的工具包
- UWP Community Toolkit - UWP Community Toolkit 是一个包含辅助函数、自定义控件和应用程序服务的集合。它简化并演示了构建 Windows 10 UWP 应用的常见开发者任务。
- Empty Keys UI - 基于 XAML 的多平台和多引擎用户界面库 [免费][专有]
GUI - 其他
- Callisto - Windows 8 XAML 应用程序的控制工具包。包含一些 UI 控件,使其更易于根据 Windows UI 指南为 Windows 商店创建 Windows UI 风格的应用程序。
- WinApi - 一个简单、直接、超薄的 CLR 库,用于高性能的 Win32 原生互操作,包括自动化、窗口、DirectX、OpenGL 和 Skia 辅助工具。
- ObjectListView - ObjectListView 是一个围绕.NET ListView 的 C#包装器。它使 ListView 的使用变得更加容易,并教会它一些新技巧。
- DockPanelSuite - 受 Visual Studio 启发的.NET WinForms 停靠库。
- AvalonEdit - 基于 WPF 的文本编辑器组件,用于 SharpDevelop
HTML 和 CSS
- AngleSharp - 完整的 HTML5 DOM 和 CSS3 OM 构建
- dotless - Ruby Less CSS 库的.NET 版本 http://www.dotlesscss.org
- ExCSS - C#的 CSS3 解析库
- HtmlAgilityPack - 一个灵活的 HTML 解析器,构建可读/可写的 DOM,并支持纯 XPath 或 XSLT
- LibSass Host - libSass 库的 .NET 封装,支持虚拟文件系统
HTTP
- RestSharp - .NET 的简单 REST 和 HTTP API 客户端
- Flurl - 流畅、便携、可测试的 REST/HTTP 客户端库
- Refit - Xamarin 和 .NET 的自动类型安全的 REST 库
- WebApiClient 基于 HttpClient 的开源项目。您只需定义 C# 接口并修改相关功能,即可异步调用远程 HTTP 接口的客户端库。
- Apizr 基于 Refit 的 Web API 客户端,具有弹性(重试、连接性、缓存、认证、日志、优先级等)。
- Fluxzy.Core - 一个完全管理和完全流式传输的中间人库,用于拦截、记录和修改通过普通或安全通道的 HTTP/1.1、H2、websocket 流量。
- NotoriousClient – 基于强类型、可扩展的 HTTP 客户端,具有流畅的请求构建器、流式传输和 multipart。基于.NET 的 HttpRequestMessage 构建。
IDE
- Visual Studio Community - 一个功能齐全的 IDE
- Waf DotNetPad - 一个简单快速的代码编辑器,可以让你用 C#或 Visual Basic 编写有趣的程序。
- Visual Studio Code - 来自 Microsoft 的优秀开源编辑器,基于 Electron。
- Ionide - 一个用于跨平台 F#开发的 Atom 编辑器和 Visual Studio Code 插件套件。
- Rider - 基于 IntelliJ 平台和 ReSharper 的跨平台 C# IDE
- RoslynPad - 基于 Roslyn 和 AvalonEdit 的简单 C#编辑器
- Consulo - 支持 C#和 Java 的跨平台 IDE,IntelliJ IDEA 社区版分支
- vvvv .NET 的视觉实时编程环境 [免费用于开源项目]
- MongoDB 的 CSharp Analyzer 是一个免费的 Visual Studio 扩展程序,适用于 MongoDB 用户,帮助您将代码转换为 MongoDB 查询
图像处理
- ImageWizard - 基于 ASP.NET Core 和 ImageSharp / SkiaSharp / SvgNet / DocNET 的图像处理 Web 服务
- ImageResizer - 向图像 URL 添加命令以在毫秒内获取修改后的版本。实时对图像进行缩放、编辑等操作。
- ImageSharp - 完全托管的跨平台图像文件处理库。
- MagicScaler - 高性能的 .NET 图像处理管道,专注于将复杂的图像处理任务简化。
- MetadataExtractor - 从图像文件中提取 Exif、IPTC、XMP、ICC 和其他元数据。
- Emgu CV - OpenCV 库的跨平台 .NET 封装。
- SimpleITK - 通往 Insight 的简化路径。Python、R、Java、C#、Lua、Ruby、TCL 和 C++中的开源多维图像分析工具。由 Insight Toolkit 社区为生物医学科学及其他领域开发。
- Magick.NET - ImageMagick 库的.NET 封装器。
- OpenCvSharp - OpenCV 的跨平台.NET Framework 封装器。
- PixelViewer - 跨平台(Windows/macOS/Linux)图像查看器,支持从文件读取原始亮度/YUV/RGB/ARGB/Bayer 像素数据并渲染。支持 10/16 位 YUV 和图像帧序列查看(v1.99+)。
- Colourful - 开源的 .NET 颜色空间处理库。
- Unicolour - .NET 的颜色转换、插值和比较。
安装工具
- Wix Toolset - 用于创建 Windows 安装体验的最强大的工具集。
- Squirrel - Squirrel 既是一套工具,也是一个库,用于完全管理您的桌面 Windows 应用程序的安装和更新。
- Chocolatey - 类似于
yum或apt-get,但适用于 Windows。 - Onova - 一个无偏见的桌面应用程序自动更新框架。
交互式编程
- .NET Interactive - .NET Interactive 将 .NET 的强大功能嵌入到您的交互式体验中。
国际化
- MessageFormat.NET - .NET 中的 ICU MessageFormat 实现,让您能够编写上下文 UI 消息(PCL 库)
- ResX Resource Manager - 最受欢迎的免费工具,用于使用基于 resx 的资源本地化各种应用程序。
互操作性
- CppSharp - 用于将 C++ API 暴露给 C# 的工具
- pythonnet - Python 和 .NET 互操作框架
- pinvoke - 一个包含最新 Windows 操作系统 P/Invoke 代码的库。
- Pyrolite - 该库允许您的 Java 或 .NET 程序非常容易地接口
IoC
- Autofac - 一个令人上瘾的.NET IoC 容器
- DryIoc - 简单、快速、功能齐全的 IoC 容器。
- Ninject - .NET 依赖注入器的忍者
- Spring.Net - Spring.NET 是一个开源的应用程序框架,使构建企业级 .NET 应用程序更加容易
- Lamar - 一个为 ASP.NET Core 和其他 .NET 服务器端应用程序高度优化的快速 IoC 容器。
- LightInject - 一个超轻量级的 IoC 容器
- Simple Injector - Simple Injector 是一个易于使用的 .NET 4+ 依赖注入 (DI) 库,支持 Silverlight 4+、Windows Phone 8、Windows 8 包括通用应用和 Mono。
- Microsoft.Extensions.DependencyInjection - .NET 应用的默认 IoC 容器。
- Scrutor - Microsoft.Extensions.DependencyInjection 的程序集扫描扩展。
- VS MEF - Visual Studio 使用的托管扩展框架 (MEF) 实现。
- Stashbox - 一个轻量级、可移植的依赖注入框架,适用于基于 .NET 的解决方案。
JavaScript 引擎
- ClearScript - 一个使您能够轻松为 .NET 应用程序添加脚本功能的库。它目前支持 JavaScript(通过 V8 和 JScript)和 VBScript。
- Edge.js - 在 Windows、macOS 和 Linux 上以进程内方式运行 .NET 和 Node.js 代码。
- Jint - 用于 .NET 的 JavaScript 解释器,提供完整的 ECMA 5.1 兼容性,并可在任何 .NET 平台上运行。
- Jurassic - ECMAScript 语言和运行时的实现。旨在为 .NET 提供最佳性能和最符合标准的 JavaScript 实现。
- YantraJS - 用于 .NET Standard 的 JavaScript 运行时(类似于 NodeJS),将 JavaScript 编译为 IL,支持许多 ES6 特性、生成器、CommonJS 模块、CSX 模块和表达式编译器。
日志记录
- NLog - NLog - 高级 .NET 和 Silverlight 日志记录
- Logazmic - Windows 平台的开放源码 NLog 查看器
- ELMAH - 官方 ELMAH 网站
- Elmah MVC - 适用于 MVC 的 Elmah
- Logary - Logary 是一个高性能的多目标日志、指标、跟踪和健康检查库,适用于 Mono 和.NET。.NET 对 DropWizard 的回应。支持多种目标,专为微服务构建。
- Log4Net - Apache log4net 库是一个帮助程序员将日志语句输出到各种输出目标的工具
- Rollbar.NET - 简化使用 Rollbar.com 进行实时远程错误监控。适用于任何基于 .NET 技术栈的开源 Rollbar 通知器 SDK。该 SDK 可用于以下 .NET 版本的任何应用程序:.NET Core 2.0+、.NET Standard 2.0+、.NET 全框架 4.5.1+、Mono、Xamarin,以及任何 .NET Standard 2.0+ 的实现。它简化了基于异常数据、跟踪数据、信息消息和遥测数据构建数据负载,并将负载发送到 Rollbar API 以远程监控和分析托管应用程序的行为。[连接到专有服务] [免费套餐]
- Sentry - Sentry 的 .NET SDK,是一个开源错误跟踪工具,帮助开发者在实时监控和修复崩溃
- Serilog - 一个面向 NoSQL 时代的实用日志库。将传统日志和结构化诊断日志的最佳特性结合在一个易于使用的包中。
- StackExchange.Exceptional - 用于 Stack Exchange 网络的错误处理器
- ULogViewer - 跨平台(Windows/macOS/Linux)通用日志查看器,支持读取和解析各种类型的日志。您还可以定义自己的配置文件来解析和显示日志。
- Foundatio - 一个流式日志 API,可用于在整个应用程序中记录消息。
- Exceptionless - Exceptionless .NET 客户端
- Loupe - 集中的 .NET 日志记录和监控。[专有] [免费层]
- elmah.io - 使用 ELMAH 的 .NET Web 应用云日志记录。上线前查找错误。强大的搜索、API、与 Slack、GitHub、Visual Studio 等集成。[免费用于 OSS] [$]
- BugSnag - 记录错误。包括有用的诊断信息,如堆栈跟踪、会话、版本等。有免费层。[免费用于 OSS][$]
- ZeroLog - ZeroLog 是一个零分配的 .NET 日志库。它为延迟敏感型应用程序提供基本的日志记录功能,在这些应用程序中,垃圾回收是不受欢迎的。
- AutoLoggerMessage - 一个源生成器,自动将所有日志调用迁移到高性能的
LoggerMessage版本。
机器学习与数据科学
- Infer.NET - 一个用于在图形模型中运行贝叶斯推理的框架。它也可以用于概率编程。
- Catalyst 跨平台自然语言处理(NLP)库,受 spaCy 启发,提供预训练模型,开箱即用支持训练词向量和文档嵌入,以及灵活的实体识别模型。是 SciSharp Stack 的一部分。
- FsLab - F# 和 .NET 的数据科学和机器学习库集合
- GeneticSharp - 用于 .NET Core 和 .NET Framework 的跨平台遗传算法库。该库包含多种遗传算法算子实现,如:选择、交叉、变异、重新插入和终止。
- ML.NET - 跨平台开源机器学习框架,使 .NET 开发者能够使用机器学习。
- F# Data - F# 类型提供器,用于访问 XML、JSON、CSV 和 HTML 文件(基于示例文档)以及访问 WorldBank 数据
- SciSharp STACK - 由将最受欢迎的 Python 库移植到 C# 而创建的 .NET 丰富的机器学习生态系统。
- OpenGA.Net - 用于解决优化问题的遗传算法 .NET 库,具有可扩展的算子和自适应策略选择。
Markdown 处理器
- F# Formatting - 用于记录 F# 和 C# 项目的工具。该库包含一个可扩展的 Markdown 解析器作为核心组件。
- markdig - 一个快速、强大、符合 CommonMark 标准、可扩展的 .NET Markdown 处理器。
- MailKit - 一个完整的跨平台邮件堆栈,包括 IMAP、POP3、SMTP、认证等。基于 MimeKit 构建。
- MailKitSimplified - MailKit 的完整功能流畅封装,使发送和接收电子邮件尽可能简单。
- MimeKit - 跨平台的.NET MIME 创建和解析库,支持 S/MIME、PGP、TNEF 和 Unix mbox 卷。
- PreMailer.Net - 将您的样式表移动到内联样式属性,以最大程度地兼容电子邮件客户端的 C#库。
- StrongGrid - SendGrid 的 v3 API 客户端。不仅允许您发送电子邮件,还允许您批量导入联系人、管理列表和分段、为您的列表创建自定义字段等。还包括一个 SendGrid Webhooks 解析器。
数学
- MathFlow - 支持符号计算的全面数学表达式库,包括微分、化简和方程求解。
- MathNet - Math.NET 是一个开源项目,旨在构建和维护涵盖基础数学的工具包,面向高级需求,同时也满足 .NET 开发者的日常需求。
- Microsoft Automatic Graph Layout - 一套用于图形布局和查看的工具。
- ALGLIB - ALGLIB 是一个跨平台的数值分析和数据处理库。它支持多种编程语言(C++、C#、Delphi)和多种操作系统(Windows 和 POSIX,包括 Linux)[专有] 和 [免费版]
- GeometRi - 简单轻量级的 .Net 计算几何库
- Rationals - .NET 中任意精度的有理数算术实现
- MKL.NET - 用于 Intel MKL 的简单跨平台 .NET API
- AngouriMath - 一个开源的符号/计算机代数库,主要用于 C# 和 F#。它涵盖了多种功能,并可能被视为 .NET 中 SymPy 的替代方案。
- WPF-Math - 一个用于 WPF 框架,以 LaTeX 排版风格渲染数学公式的.NET 库
- Jodo.Numerics - 提供额外的数字类型(如定点数和非溢出数),并全面支持运算符、数学、字符串解析等。经过广泛测试,跨平台兼容。
媒体
媒体文件中的元数据,包括视频、音频和照片格式- LibVLCSharp - 用于 libvlc 的多媒体框架的 Xamarin 绑定,该框架为 VideoLAN 制作的 VLC 应用程序提供支持。
- NAudio - 在多种文件格式(如 MP3、MP4、WAV、AIFF、Speex 等)中播放、解码和编码音频。
- Xabe.FFmpeg - FFmpeg 的.NET Standard 封装。它允许在不了解 FFmpeg 工作原理的情况下处理媒体,并可用于从 C#应用程序中向 FFmpeg 传递自定义参数。[$]
- Sonora - 用于音频和 MIDI 播放、编辑以及插件集成的.NET 音频框架。
Metrics
- Foundatio - 一个通用的接口,包含内存、Redis、StatsD 和 Metrics.NET 的实现。
微框架
最小化
- Web Markup Minifier - 一个包含一系列标记最小化工具的 .NET 库。该项目旨在通过减少 HTML、XHTML 和 XML 代码的大小来提高 Web 应用的性能。
- CompressedStaticFiles - 直接将压缩后的静态文件发送给浏览器,无需按需压缩,同时支持在浏览器表明支持时发送更高级的图像格式。
杂项
- RazorKit - RazorKit 是一组轻量级、流畅风格的 Razor HTML 助手,使开发者能够轻松地将流行的 JavaScript 库集成到他们的 ASP.NET 应用程序中。
- CSharp Pad - 一个基于网络的 C# REPL,具有出色的代码补全功能。
- AzureCrawler - 为您的 Angular、Ember、Durandal 或任何 JavaScript 应用程序拍摄 HTML 快照
- CSScript - CS-Script 是一种基于 CLR 的脚本系统,它使用 C# 作为编程语言。CS-Script 目前针对 Microsoft 的 CLR 实现(.NET 2.0/3.0/3.5/4.0/4.5)进行目标,并在 Mono 上提供全面支持。它还包含许多附加功能,例如脚本托管。
- CsvHelper - 用于读取和写入 CSV 文件的库 https://github.com/JoshClose/CsvHelper
- RecordParser - 一种帮助读取和写入 CSV 和平面文件的库,具有零堆分配。
- Sep - 全球最快的 .NET CSV 解析器。现代、极简、快速、零内存分配,支持分隔值(
csv、tsv等)的读取和写入。跨平台、可修剪,兼容 AOT/NativeAOT。 - ConsoleTableExt - 用于 .Net 控制台应用程序创建表格的流畅库。
- FluentValidation - 一个用于 .NET 的小型验证库,使用流畅接口和 lambda 表达式构建验证规则。
- Validot - Validot 是一个以性能为先、紧凑的高级模型验证库。使用简单的声明式流畅接口,高效处理类、结构、嵌套成员、集合、可空类型,以及它们之间任何关系或组合。它还支持翻译、自定义逻辑扩展与测试,以及 DI 容器。
- Humanizer - Humanizer 满足您所有 .NET 在字符串、枚举、日期、时间、时间段、数字和数量的操作和显示需求
- LINQPad - 一个 C#/VB/F# 的即时执行任何表达式、代码块或程序的草稿板,具有丰富的输出格式和丰富的功能。还允许您在 LINQ 中交互式地查询数据库。[$]
- LINQPad.QueryPlanVisualizer - 直接在 LINQPad 中查看 SQL Server 和 Postgres 查询计划。
- Polly - 以声明式方式表达瞬态异常处理和弹性策略,如重试、等待重试、断路器和大容量隔离。完全线程安全,完全支持异步。(4.0 / 4.5 / .NET Core / .NET Standard / Xamarin)。
- Aeron.NET - 高效可靠的 UDP 单播、UDP 组播和 IPC 消息传输 - Aeron 的.NET 端口
- TypeShape - TypeShape 是一个小巧、可扩展的 F#库,用于实用泛型编程
- ByteSize - ByteSize 是一个工具类,通过消除表示值的歧义,使代码中的字节大小表示更简单。ByteSize 对于字节而言,就像 System.TimeSpan 对于时间一样。
- Jot - 一个用于持久化和恢复应用程序状态的库(比.settings 文件更好的替代方案)。
- Enums.NET - Enums.NET 是一个高性能的类型安全 .NET 枚举工具库
- YoutubeExplode - 用于提取元数据和下载 YouTube 视频及播放列表的终极库。
- DeviceId - 生成一个可用于唯一标识计算机的“设备 ID”。
- DeviceDetector.NET - 通用设备检测库将解析任何用户代理并检测浏览器、操作系统、设备(台式机、平板、移动设备、电视、汽车、游戏机等)、品牌和型号。
- NaturalSort.Extension - StringComparer 的扩展方法,支持自然排序(例如 "abc1"、"abc2"、"abc10" 而不是 "abc1"、"abc10"、"abc2")。
- Coravel 近零配置的 .NET Core 库,使任务调度、缓存、队列、邮件发送、事件广播(以及更多)变得轻松!
- Build Versioning - .NET 简单构建版本管理,由 Git 标签驱动。
- SystemTextJson.JsonDiffPatch - System.Text.Json 的高性能、低内存分配的 JSON 对象差异和补丁扩展。支持生成 RFC 6902 JSON 补丁格式的补丁文档。
- dotnet-exec - 一个命令行工具,用于执行 C# 程序而无需项目文件,并且您可以拥有自定义的入口点,而不仅仅是 Main 方法。
- ComputeSharp - 一个 .NET 库,通过 DX12、D2D1 在 GPU 上并行运行 C# 代码,以及动态生成的 HLSL 计算和像素着色器。
- ILGPU - 一个 JIT(即时)编译器,用于编译基于 .Net 语言的、高性能的 GPU 程序。
MQTT
- HiveMQtt - HiveMQ 的 C# MQTT 客户端,用于 .NET
- MQTTNet - 一个高性能的 .NET MQTT 基于通信库。它提供了一个 MQTT 客户端和一个 MQTT 服务器(代理)。
MVVM
- Community Toolkit - 收集了用于各种 .NET 技术的控制和辅助库及示例。包含由微软支持的现代 MVVM 库。包括 Windows Community Toolkit、MAUI Community Toolkit 和 Dotnet Community Toolkit。
- Caliburn.Micro - 一个小巧而强大的框架,专为跨所有 XAML 平台构建应用程序而设计。它对 MV*模式的强大支持将使您能够快速构建解决方案,而无需牺牲代码质量或可测试性。
- Catel - Catel 是一个应用程序开发平台,专注于 MVVM(WPF、Silverlight、Windows Phone 和 WinRT)和 MVC(ASP.NET MVC)。Catel 的核心包含 IoC 容器、模型、验证、备忘录、消息中介、参数检查等。
- ReactiveUI - 一个用于.NET 的 MVVM 框架,集成了 Reactive Extensions (Rx) 框架,使开发者能够使用 WPF、Windows Store Apps、WP8 或 Xamarin 构建优雅、可测试的应用程序。
- Prism - 一个跨平台的桌面和移动 MVVM 开发框架。
- Win 应用程序框架 (WAF) - 一个轻量级框架,帮助您创建结构良好的 WPF 和 UWP 应用程序。它支持您应用分层架构和模型-视图-视图模型模式。
- MVVMCross - 跨平台 mvvm 移动开发框架,适用于 WPF、Silverlight for WP7 和 WP8、Mono for Android、MonoTouch for iOS、Windows Universal 项目(WPA8.1 和 Windows 8.1 Store 应用)。广泛使用便携类库 (PCL) 以提供可维护的跨平台 C# 原生应用程序。
- Stylet - 受 Caliburn Micro 启发的极简 MVVM 框架,具有良好的文档、高测试覆盖率,并拥有自己的 IoC 容器。
- Toms Toolbox - 基于 管理扩展性框架 (MEF) 的可视化组合框架,可轻松构建模块化的 MVVM 应用程序。
- MVVM Dialogs - 在使用 WPF 或 UWP 的 MVVM 模式时,简化从视图模型打开对话框的概念的框架。
Networking
- NetCoreServer - 超快、低延迟的异步套接字服务器和客户端 C# .NET Core 库,支持 TCP、SSL、UDP、HTTP、HTTPS、WebSocket 协议,并解决 10K 连接问题(NETStandard)。
- SharpPcap - 完全托管、跨平台(Windows、Mac、Linux)的 .NET 库,用于捕获来自实时和基于文件的设备的网络数据包。
对象到对象映射
- AutoMapper - 一个基于约定的 .NET 对象映射器。https://automapper.org
- Mapperly - 一个用于生成对象映射的 .NET 源生成器。无需运行时反射。
- Mapster - 一个高性能的 .NET 对象映射器
办公
- ExcelDna - ExcelDna 可以更轻松地使用 C#、F# 或 VB .NET 创建和部署 Excel 插件
- ClosedXML - ClosedXML 可以更轻松地让开发者创建 Excel 2007/2010 文件
- OfficeIMO - OfficeIMO 可以更轻松地让开发者创建/修改 Word (docx) 文件,而无需安装 Microsoft Word 或 Office
- NPOI - 该项目是 https://poi.apache.org. 上的 POI Java 项目的 .NET 版本。
- EPPlus - EPPlus 是一个 .NET 库,使用 Open Office XML 格式(xlsx)读取和写入 Excel 2007/2010 文件。
- Open XML SDK - Open XML SDK 提供用于处理 Open XML 文档(DOCX、XLSX 和 PPTX)的开源库。
- DocX - DocX 是一个 .NET 库,允许开发者操作 Word 2007/2010/2013 文件,它不需要安装 Microsoft Word 或 Office。
- ExcelDataReader - 一种用 C# 编写的高效轻量级库,用于读取 Microsoft Excel 文件(2.0-2007)。
- NetOffice - 用于 Microsoft Office 应用的 .NET 封装程序集。
- Outlook Redemption - 用于处理 Outlook 对象模型和 (扩展) MAPI 的库。支持 Outlook 98 - 2019。可与 Exchange 和 Outlook 中的对象/邮件/账户/文件夹工作。[$]
- ShapeCrawler - 无需安装 Microsoft Office 即可处理 PowerPoint 演示文稿的流畅 API。
- MiniExcel - 微型 Excel 辅助工具,避免 OOM 并具有高性能,用于创建/映射/模板填充数据。
- MatchFlow - 基于 Web 的发票对账平台,具有 OCR 提取和使用 ASP.NET Core 及 Azure Form Recognizer 的自动采购订单匹配功能。
- Toxy - 支持多种文件格式的 .NET 文本提取框架
- Syncfusion .NET Word Framework - 无需 Microsoft Office 或互操作依赖的高性能 .NET Word 框架。无缝创建、读取和编辑 Word 文档。利用高级编辑组件轻松查看、编辑和打印。借助强大的转换 API,轻松将 Word 文档转换为 PDF、HTML、RTF、ODT 和 EPUB 格式。$] [[适用于个人和小型企业免费]
- Syncfusion .NET Excel Framework - 无需 Microsoft Office 或互操作依赖的高性能 .NET Excel 框架。无缝创建、读取和编辑 Excel 文档。利用电子表格控件轻松创建、编辑和查看。借助强大的转换 API,轻松将 Excel 文件转换为 PDF、图像等格式。$] [[适用于个人和小型企业免费]
- Syncfusion .NET PowerPoint Framework - 一个高性能的 .NET PowerPoint 框架,无需 Microsoft Office 或互操作依赖。可以无缝创建、读取和编辑 PowerPoint 文件。使用强大的转换 API 可以轻松将 PowerPoint 文件转换为 PDF 和图像。$] [[免费面向个人和小型企业]
OpenAI
ORM
- Entity Framework Core - 一个对象关系映射器,使 .NET 开发人员能够使用特定领域的对象来处理关系数据
- EntityFramework.Exceptions - 当您的 SQL 查询在 SqlServer、MySql、PostgreSQL 或 SQLite 中违反数据库约束时,为 Entity Framework Core 使用类型化的异常
- EntityFrameworkCore.SqlServer.SimpleBulks - 一个简单的库,可以帮助将大量记录在内存中同步到数据库。支持 Lambda 表达式。
- EFCore.BulkExtensions - Entity Framework Core 批量扩展,用于超快速(BulkCopy)CRUD 操作 + 在多个数据库(SQL、PG、My、Lite)上执行 SaveChanges
- Dapper - 由 StackExchange 开发的 .NET 简单对象映射器
- Dapper.FastCRUD - Dapper 最快的微 ORM 扩展
- DapperQueryBuilder - 使用字符串插值和流畅 API 的 Dapper 查询构建器
- SqlSugar - 另一个支持多种 RDBMS(包括 MySql、SqlServer、Sqlite、Oracle、Postgresql)的 ORM 库 - 注意:此项目与 Microsoft 或.NET 无关
- FreeSql - dotnet 中方便的 ORM,支持 MySql、SqlServer、PostgreSQL、Oracle、Sqlite、Firebird、达梦、人大金仓、神舟通用、翰高和 Access - 注意:此项目与 Microsoft 或.NET 无关
- NHibernate - NHibernate 对象关系映射器
- Fluent NHibernate - Fluent、无需 XML、编译安全、自动化、基于约定的 NHibernate 映射。
- FluentMigrator - .net 的 Fluent 迁移框架
- ServiceStack.OrmLite - 轻量级、简单、快速基于约定的 POCO ORM [免费用于开源] [$]
- LINQ to DB - 最快的 LINQ 数据库访问库,提供简单、轻量、快速且类型安全的层,用于您的 POCO 对象和数据库之间。
- PetaPoco - 一个微型的 ORM 工具,用于您的 POCO 对象。
- NPoco - 一个简单的微型 ORM,将查询结果映射到 POCO 对象上。基于 Schotime 的 PetaPoco 分支。
- LLBLGen Pro - Entity 建模解决方案,支持 Entity Framework、NHibernate、Linq to SQL 及其自有的 ORM 框架:LLBLGen Pro 运行时框架。[免费试用版]
- Insight.Database - Insight.Database 是一个快速、轻量级的 .NET 微 ORM
- RepoDb - 一个用于 .NET 的混合 ORM 库。
- MongoFramework - 一个类似 "Entity Framework" 的 MongoDB 接口
- Friflo.Json.Fliox - 高性能的 ORM 工具,支持 Sqlite、MySql、SqlServer、PostgreSQL 以及 NoSQL。提供 REST、GraphQL 以及 WebSocket / PubSub API 的服务器。
软件包管理
- NuGet - .NET 软件包管理器
- Cloudsmith - 一款全托管软件包管理 SaaS 服务,支持 NuGet、Npm、Docker 等。[免费用于公共/OSS] [$]
- MyGet - NuGet、NPM、Bower 和 VSIX 的托管软件包存储库。还提供 CI as-a-Service。[$]
- Paket - 一个用于 .NET 的包依赖管理器,支持 NuGet 包和 GitHub 仓库。https://fsprojects.github.io/Paket/
- Sleet - 一个支持 AWS S3 和 Azure Storage 的 NuGet v3 静态源生成器
- QPdfSharp - 一个围绕 QPdf 编写的 C# 包装器,允许轻松进行 PDF 操作,并在 Linux 和 Windows 上进行了测试。QPdf 是唯一能够进行 PDF 线性化的库之一,此包装器确保您能够及时更新底层改进。
- Cloudmersive PDF - Cloudmersive PDF 是一个原生 .NET Framework 和 .NET Core NuGet 库和 API 服务,可以在高规模和高保真度下创建、修改、加密或转换 PDF 文档;并且免费使用,无过期 [免费]
- Docotic.Pdf - 用于在 .NET 和 .NET Core 应用程序中创建、读取、编辑、绘制和打印 PDF 文档的 PDF 库。100% 管理型,没有不安全的代码块。$] [[免费用于 OSS]
- IText - iText 是一个 PDF 库,允许您创建、适应、检查和维护便携式文档格式 (PDF) 中的文档[$] [免费用于 OSS]
- Pdfium.Net SDK - 高级 C# PDF 库,用于渲染、创建、编辑、合并、拆分、打印和查看 PDF。开源 PDF 查看器可在 GitHub 上获得。还提供了一个 NuGet 包,方便集成到您的项目中。[$]
- PdfPig - 在 C# 中读取、创建和提取 PDF 中的文本和其他内容(PdfBox 的移植版本)
- QuestPDF - QuestPDF 是一个现代且经过实战检验的库,可以通过提供友好、可发现和可预测的 C# 流式 API 帮助您生成 PDF 文档。[源代码开放] [免费用于 OSS]
- Kevsoft.PDFtk - 一个驱动强大的 pdftk 二进制文件的包装器,可以填写 PDF 表单、获取字段信息、合并多个文档或页面、拆分文档、添加或替换印章,以及可以将文件附加到页面或从页面下载文件。
- IronPDF - 高性能 C# PDF 库,兼容各种 .NET 版本,支持 HTML 到 PDF 转换、内容页面转换、文件格式支持(例如,DOCX、RTF、MD)、响应式布局,以及从兼容性、生成 PDF、格式化 PDF 和编辑 PDF 等方面具有强大的 PDF 功能特性。[$] [提供免费试用]
- Syncfusion .NET PDF Framework - 一个高性能的 .NET PDF 框架,无需 Adobe 依赖。可无缝创建、读取和编辑 PDF 文件。利用 PDF 查看控件轻松查看、审阅和打印。借助强大的转换 API,轻松将 HTML、Word、Excel、PowerPoint 文件和图像转换为 PDF。$] [[免费面向个人和小型企业]
Profiler
- MiniProfiler - 一个简单但有效的 ASP.NET 网站微型分析器
Protocols
- SSH.NET - 一个为 .NET 优化的并行化 Secure Shell (SSH) 库。提供 SSH 命令、SFTP/SCP 上传和下载,以及 SOCKS4/SOCKS5/HTTP 代理。
- FluentFTP - 一个为 .NET 优化的快速 FTP 和 FTPS 库。提供广泛的 FTP 命令、文件上传/下载和 FTP 代理。
- SharpSnmpLib - 一个为 .NET/Mono/Xamarin 开发的开源 SNMP 实现。支持 SNMP 版本 1、2c 和 3。
- DnsClient.NET - 一个简单、功能强大且高性能的开源 .NET Framework 库,用于执行 DNS 查询。
- Tecan SiLA2 SDK - 用于开发 SiLA2 客户端和服务器的一套库和代码生成器。
推送通知
查询构建器
- SqlKata - 一种优雅的 SQL 查询构建器,支持复杂查询、连接、子查询、嵌套的 WHERE 条件、供应商引擎目标等。
- InterpolatedSql - 使用字符串插值和流畅 API 的 SQL 构建器
队列
- CAP - 带有本地持久消息功能的 EventBus,适用于 RabbitMQ 或 Kafka。- 注意:此项目与微软或 .NET 无关
- Cap.Outbox - 实现 Outbox 模式和 OnceExecutor 服务,保证幂等性:操作将只执行一次
- NServiceBus - 最受欢迎的 .NET 服务总线
- Hangfire - 在 ASP.NET 应用程序中执行一次性、延迟和周期性任务的极其简单的方法
- RabbitMQ.NET - C# 的 AMQP 客户端库的实现,以及一个通过 WCF 暴露 AMQP 服务的绑定
- NetMQ - NetMQ 是 ZeroMQ 的 100% 原生 C# 端口
- MassTransit - MassTransit 是一个轻量级的服务总线实现,用于使用 .NET Framework 构建松散耦合的应用程序。
- Rebus - Rebus 是一个轻量级 .NET 服务总线实现,与 NServiceBus 和 MassTransit 类似,但更加轻量级。
- EasyNetQ - 一个易于使用的 .NET API,用于 RabbitMQ。
- Warewolf ESB - 一个易于使用的服务总线和微服务平台。可以在可视化 IDE 中轻松构建应用程序和服务。
- Confluent 的.NET 客户端 - Confluent 的.NET 客户端用于 Apache Kafka。
- Streamiz - 一个用于 Apache Kafka 的.NET 流处理库。
- Foundatio - 具有内存、Redis 和 Azure 实现的通用接口。
- Brighter - 命令调度器、处理器和分布式任务队列 https://www.goparamore.io/
- Silverback - 一个简单但功能丰富的 .NET core 消息总线(支持 Kafka、RabbitMQ 和 MQTT)。
- SlimMessageBus - 轻量级消息总线,支持流行的消息系统(Kafka、Redis、Azure Service Bus 等)和内存通信。
- AsyncMonolith - 促进 dotnet 应用中的简单异步消息传递。
RPC
- gRPC .NET Core 的 RPC 库和框架。更多内容请查看Microsoft 文档
- gRPCurl - gRPCurl 是一个命令行工具,可以让你与 gRPC 服务器交互。基本上是 gRPC 服务器的 curl。
- gRPC UI - gRPC UI 是一个命令行工具,可以通过浏览器与 gRPC 服务器交互。有点像 Postman,但用于 gRPC API 而不是 REST。
反应式编程
- Rx.NET - 反应式扩展(Rx)是一个使用可观察序列和 LINQ 风格的查询运算符来组合异步和基于事件的程序的库
- Dynamic Data - 集合的反应式扩展(Rx)
实时通信
- SIPSorcery - 一个跨平台的 C# .NET 库,支持 SIP、VoIP 和 WebRTC
正则表达式
调度
- NCrontab - 用于解析和格式化 crontab 表达式以及根据 crontab 调度计算时间发生的类库
- NCrontab.Scheduler - 用于调度基于 NCrontab 的任务的简单任务调度库
- QuartzNet - Quartz Enterprise Scheduler .NET
- Hangfire - 一种在 .NET 应用程序中执行一次性、延迟和周期性任务的方法
- DurableTask - 该框架允许用户使用 async/await 功能在 C# 中编写长时间运行的持久化工作流。
- Workflow Core - 轻量级可嵌入工作流引擎
- Occurify - 一个强大且直观的 .NET 库,用于定义、过滤、转换和调度即时和周期性时间线。
- TickerQ - 轻量级、高性能、无反射的 .NET 任务调度器,支持 EF Core、基于 cron/时间执行、自定义锁定和重试功能。
- NCronJob - 基于 dotnet 的 IHostedService 之上的任务调度器。
- NaturalCron – 基于 .NET 的人类可读调度库,使用自然语言表达式。
SDK 和 API 客户端
- AWS SDK - AWS SDK for .NET 使.NET 开发者能够轻松地使用 Amazon Web Services
- Azure PowerShell - 一套 PowerShell cmdlets,供开发者和管理员开发、部署和管理 Microsoft Azure 应用程序
- Countly SDK for Windows - Countly 分析和营销平台的 Windows SDK,适用于产品和营销管理人员
- Octokit.NET - 一个用于 .NET 的 GitHub API 客户端库
- Dropbox.NET - Dropbox API 的官方 .NET SDK
- Getty Images API SDK - Getty Images 和 iStock API 的 SDK
搜索
- Elasticsearch .NET - Elasticsearch.Net & NEST
- SolrNet - Solr .NET 客户端
- Lucene.net - Lucene.Net 是 Lucene 搜索引擎库的 C# 版本,面向 .NET 运行时用户
- Lunr-Core - Lunr-core 是一个小型全文搜索库,适用于小型应用程序。它是 LUNR.js 的 .NET 版本。
- hOOt - 最小的全文搜索引擎(lucene 替代品)。从零开始构建,使用倒排 Roaring bitmap 索引,高度紧凑的存储,可在数据库和文档模式下运行。
- ZoneTree.FullTextSearch - 高效的全文搜索库。扩展自 ZoneTree。它是一个快速、嵌入式搜索引擎,适用于需要高性能且不依赖外部数据库的应用程序。
序列化
- CsvExport - 非常简单且轻量级的 CSV 导出器,与 Excel 兼容,可转义文本和引号等。
- Protobuf.NET - Protocol buffers 是 Google 用于其大部分数据通信的二进制序列化格式。
- Json.NET - .NET 中流行的高性能 JSON 框架。
- ServiceStack.Text - 用于 servicestack.net 的 JSON、JSV 和 CSV 文本序列化器。
- Msgpack-Cli - Common Language Infrastructure 的 MessagePack 实现
- FlatSharp - 快速、原生的 FlatBuffers 实现。使用 .fbs 文件或属性。
- F# Data - 用于访问 XML、JSON、CSV 和 HTML 文件(基于示例文档)以及访问 WorldBank 数据的 F# 类型提供程序
- Hyperion - .NET 框架的高性能多态序列化器
- Migrant - 快速且灵活的序列化框架,可用于未装饰的类。
- ObjectDumper.NET - 将内存中的对象序列化为 C#代码。
- FluentSerializer - 基于配置的多种数据格式序列化器。
短信和电话呼叫
- Twilio-csharp - 一个用于通过 Twilio 发送和接收电话呼叫和短信的 C#/.NET 库。
状态机
- Stateless - 直接在 .NET 代码中创建状态机和轻量级基于状态机的流程
静态网站生成器
- Sandra.Snow - 受 Jekyll 启发的 .NET 静态网站生成器
- AspNetStatic - 将 ASP.NET Core Web 应用转换为静态网站生成器。
强命名
- .NET 程序集强命名签名器 - 用于对 .NET 程序集进行强命名签名的实用工具软件,包括您没有源代码的程序集。
风格指南
- C# 风格指南 - StackOverflow 上的风格指南问答
- C# 编码规范 - 官方 MSDN C# 代码规范
- C# 异步指南 - .NET Core 中有问题的异步模式列表,并解释如何解决这些问题
模板引擎
- RazorLight - 基于 Microsoft Razor 解析引擎的开源模板引擎,支持 .NET Standard 2.0
- DotLiquid - Ruby Liquid 模板语言的 C# 版本
- Scriban - 一种快速、强大、安全且轻量级的文本模板语言和引擎,适用于 .NET
- Morestachio - 一个全尺寸的 {{mustache}} 类似模板引擎,专注于可扩展性。
- Fluid - Fluid 是一个基于 Liquid 模板语言的 .NET 开源模板引擎。
- SmartFormat - 一个用 C# 编写的轻量级文本模板库,可以作为 string.Format 的直接替代品。
- Handlebars.Net - 一个真正的 .NET Handlebars 引擎
测试
- ArchUnitNET - 用于检查 C#代码架构的简单库,具有流畅的 API。
- AutoFixture - AutoFixture 是一个.NET 开源框架,旨在最小化单元测试的'Arrange'阶段。
- BDTest - 一种行为驱动测试和报告框架!
- Bogus - 一个简单且合理的 C# 假数据生成器。基于并移植自著名的 faker.js。
- ExpressionToCode - 在断言中使用纯 C# 语法,并在失败消息中包含表达式和子表达式值。
- FakeItEasy - .NET 的便捷模拟库 https://fakeiteasy.github.io
- Fluent Assertions - 一套 .NET 扩展方法,允许您更自然地指定 TDD 或 BDD 风格测试的预期结果 [源码可用] [免费用于 OSS]
- FsCheck - 用于 .NET 的随机测试。
- Machine.Specifications - Machine.Specifications (MSpec) 是一个上下文/规范框架,它消除了语言噪音并简化了测试。
- Moq - 最流行且友好的 .NET 模拟框架。
- NBomber - 非常简单的用于拉取和推送场景的负载测试框架。它完全用 F# 编写,并针对 .NET Core 和完整的 .NET Framework。
- NCrunch - 一个用于 Visual Studio 的自动化持续与并发测试工具。[$]
- NFluent - NFluent 是一个断言库,旨在使您的 .NET TDD 体验更加流畅。
- NSubstitute - 一个友好的 .NET 模拟框架替代品
- NUnit - 一个适用于所有 .NET 语言的单元测试框架
- Testcontainers - 一个支持使用 Docker 容器临时实例进行测试的库,适用于所有兼容的 .NET Standard 版本。
- SecTester - SecTester 是一个新工具,将 Bright 企业级扫描引擎直接集成到您的集成或端到端测试中。[专有] [免费]
- Shouldly - Shouldly 是一个断言框架,当断言失败时,它专注于提供优秀的错误消息,同时保持简单和简洁。
- Snapshooter - 用于 .NET Core 和 .NET Framework 的快照测试工具
- Stryker.NET - 用于 .NET Core 项目的变异测试
- xUnit.net - 一个免费、开源、以社区为中心的 .NET Framework 单元测试工具
- Canopy - Canopy 是一个免费的、开源的 F# 网络自动化和测试框架
- Expecto - 一个适用于 F# 的平滑测试框架,将测试作为值。单元测试、属性测试、性能测试和压力测试。
- ReportPortal - AI 驱动的测试自动化仪表板。获取、聚合和分析测试报告,以确定发布健康状况。
- Compare-Net-Objects - 使用反射对任何两个 .NET 对象进行深度比较。显示两个对象之间的差异。
- Verify - 用于验证复杂模型和文档的验证工具,支持简单的批准操作。
- CsCheck - C#的随机测试库,包括并发、因果分析、回归和性能测试。
- NotoriousTest - 一个轻量级的.NET 框架,通过协调可重用的基础设施和环境,使集成测试完全隔离,并在测试之间自动重置。支持 TestContainers 和 SQL Server。基于 XUnit。
工具
- Downloader - 用于.NET 应用程序的快速可靠的分片下载器,支持异步进度事件。
- Fiddler - 适用于任何浏览器、系统或平台的免费网络调试代理 [专有] [$] [提供免费试用]
- Open Live Writer - 集成 WordPress、Blogger 等博客平台的博客撰写工具。Open Live Writer 使撰写、预览和发布博客变得轻松简单。
- ShareX - ShareX 是一款免费且开源的程序,允许您通过一键捕获或录制屏幕的任何区域,并与 80 多个支持的目的地共享。它还允许将图像、文本或其他类型的文件上传到您选择的支持目的地。
- Opserver - Stack Exchange 的监控系统
- CatLight - 用于 TFS/Jenkins/Travis/Appveyor 的构建状态通知。基于 .NET Core 和 Electron 的跨平台桌面应用程序。[免费版本可用][Proprietary]
- Mockaco - 快速设置的 API 模拟服务器,用于模拟 HTTP 响应,利用 ASP.NET Core 功能,内置假数据生成和由 Roslyn 脚本 API 驱动的 C# 脚本引擎。
- Papercut - Papercut 是一个基于 .NET 的开源测试邮件查看器,可在本地运行,内置 SMTP 服务器,用于接收和通知测试邮件消息。
- Fake JSON Server - 用于原型设计或作为 CRUD 后端的假 REST API。无需定义类型,使用动态类型。数据存储在一个 JSON 文件中。具有身份验证、WebSocket 通知、异步长运行操作、错误/延迟的随机生成以及实验性 GraphQL 支持。
- NETworkManager - 一个强大的网络管理工具,用于解决网络问题!
- YARP - YARP 是一个用于在 .NET 中构建快速代理服务器的反向代理工具包,基于 ASP.NET 和 .NET 的基础设施。
- JSON Formatter and Validator - 一个极速的 JSON 格式化和验证工具,不会与服务器共享 JSON。
- CSharpier - 一个基于 Prettier 打印过程的 C# 代码格式化工具。
- UnitsNet - 让使用测量单位的工作变得更加轻松。
- Another Redis Desktop Manager - 一个更快、更好、更稳定的 Redis 桌面管理器 [GUI 客户端],兼容 Linux、Windows、Mac。此外,它在加载大量键时不会崩溃。
- OctaneEngine - 一个高性能的多部分下载器,具有暂停/恢复支持、异步进度和限速等许多功能。
- FastCloner - .NET 8+ 的快速深度克隆库。零配置,开箱即用。
- STranslate - STranslate 是一款基于 WPF 开发的即用型 OCR 翻译工具。
- BouncyHSM - 一款 HSM 和智能卡模拟器软件,具有 HTML 界面、REST API 和 PKCS#11 接口。
交易
- Lean - Lean 引擎是一个开源的、全托管式 C# 算法交易引擎,适用于桌面和云端使用。https://www.quantconnect.com/lean/
- StockSharp - 交易和算法交易开源平台(股票市场、外汇、比特币和期权)。https://stocksharp.com
UI 自动化
- Atata - 基于 Selenium WebDriver 的自动化 Web 测试全功能框架。
- Managed Windows API - 无需其源代码即可内省和自动化第三方 Windows / VC++应用程序。
- FlaUI - FlaUI 是一个 .NET 库,用于帮助自动化测试 Windows 应用程序(Win32、WinForms、WPF、Store Apps 等)。
- PuppeteerSharp - Puppeteer Sharp 是官方 Node.JS Puppeteer API 的 .NET 版本。
- PuppeteerSharp.Contrib - Puppeteer Sharp 的贡献,提供了一种方便的方式来编写可读且健壮的浏览器测试。
Visual Studio 插件
- EFCore.Visualizer - 直接在 Visual Studio 中查看 Entity Framework Core 查询计划。
- VsVIM - Visual Studio 中的 VIM
- Resharper - Visual Studio 开发者生产力工具 [$]
- Productivity Power Tools - 一套用于 Visual Studio Professional(及以上版本)的扩展,旨在提高开发人员的工作效率。
- Tabs Studio - Visual Studio 标签管理器,支持多行标签、标签着色和标签分组。[$]
- VSColorOutput - 构建输出、查找和调试输出窗口的颜色高亮。可以添加自定义匹配模式和颜色。
- Roslynator - 基于 Roslyn 的 C# 分析器、重构和修复工具集合,包含 500 多种工具。
- SonarSource.sonarlint-visualstudio - SonarLint 是一个免费的、开源的 Visual Studio 2017、2019 和 2022 扩展,为开发人员提供实时反馈,帮助发现 C#、VB.NET、C/C++、TypeScript 和 JavaScript 中的新错误和质量问题。
网页浏览器
- CefSharp - 基于 Chromium 的 HTML5、CSS3 和 JS 网页浏览器,适用于 WinForms 和 WPF
- SharpBrowser - 使用 C#和 CefSharp 构建的完整功能的.NET 网页浏览器
网页框架
- ASP.NET [Core] - ASP.NET 是一个用于构建优秀网站和应用程序的免费 Web 框架
- Coalesce - Coalesce 是一个用于快速开发 ASP.NET Core Web 应用程序的框架。
- CodeBehind Framework - ASP.NET Core 下现代且强大的后端框架。
- Suave.IO - 框架/库/Web 服务器,当你提前完成项目并看到你用 F# 编写的优美代码时,会让你喜极而泣。
- DotVVM - 适用于不喜欢编写 JavaScript 的人的 MVVM 框架,支持 OWIN 和 ASP.NET Core,并提供适用于 Visual Studio 2015 和 2017 的免费扩展。
- Giraffe - 用于构建丰富 Web 应用的函数式(F#)ASP.NET Core 微型框架
Web 服务器
- EmbedIO - 基于 Mono 构建的跨平台 Web 服务器
- GenHTTP - 一个轻量级、可嵌入的 Web 服务器,用于快速创建 REST API
- SimpleW - .NET Core 中的 Web 服务器库。功能强大、简单、速度快,内置组件(REST API、JWT、Websockets、自序列化、Opentelemetry)。
WebSocket
- SignalR - ASP.NET 开发者的库,使添加实时 Web 功能到您的应用程序变得极其简单
- SuperSocket - SuperSocket 是一个轻量级可扩展的 socket 应用程序框架
- Websocket-Sharp - WebSocket 协议客户端和服务器的 C# 实现
- Crossertech - 提供了一套强大的工具,帮助您在 Microsoft.NET 平台上构建实时应用程序等。[$]
- Websocket.Client - 基于原生 C# 类 ClientWebSocket 的多平台包装器,内置重连和错误处理功能。
Windows 服务
- Servy - 一个将任何应用程序转换为原生 Windows 服务工具,具有强大的配置和管理选项(NSSM 和 WinSW 的现代替代方案)。
WPF
- DeftSharp.Windows.Input - 监听全局键盘/鼠标事件。易于使用。适用于 Windows UI 应用程序(WPF、MAUI、Avalonia)。
- Data Grid Extensions - WPF DataGrid 控件的模块化扩展,例如过滤、附加列事件、扩展星号大小列行为等...
- Extended WPF Toolkit™ - 用于创建 WPF 应用的控件、组件和工具的丰富集合
- WPF - WPF 是用于构建 Windows 桌面应用程序的 .NET Core UI 框架。
解析库
- Silverfly - 一个 Pratt 解析器库
- Pidgin - 一个轻量级、快速且灵活的 C# 解析库,由 Stack Overflow 开发
- Superpower - 一个具有高质量错误报告的 C# 解析器构建工具包
- CSLY - 一个轻量级嵌入式 C# 词法分析器/解析器生成器。
- Parakeet - 一个支持操作符重载的 C# 递归下降解析库
源代码生成器
- CodegenCS - 代码生成工具包,使用纯 C# 编写模板。命令行工具、MSBuild 任务、Visual Studio 扩展和 Roslyn 源代码生成器。
- M31.FluentAPI - 轻松为您的 C# 类生成流畅的 API。
- Supernova.Enum.Generators - 一个 C# 源代码生成器,用于从枚举类型创建枚举类。使用此包,您可以非常非常快速地处理枚举,而无需使用反射。
- Vogan - 一个带分析器的值对象生成器。
- Dunet - 一个简单的 C# 差异联合源生成器。
- SyncMethodGenerator – 从异步方法生成同步方法以避免代码重复。
其他列表
- 用于 .NET 的自动化测试工具和框架列表 - 用于 .NET 的自动化测试(TDD/BDD/ATDD/SBE)工具和框架列表
- 让您的 .NET 生活更轻松的库 - 让您的 .NET 生活更轻松的开源库
- awesome-LINQ - 精选的 LINQ 库、工具和更多集合。
- awesome-analyzers - 精选的 .NET 编译器平台("Roslyn")诊断分析器和代码修复列表。
- Awesome .NET Core - 一系列优秀的 .NET core 库、工具、框架和软件的集合
- ASP.NET Core Library and Framework Support - ASP.NET Core 和 .NET Core 目前支持的 .NET 库和框架列表。
- Awesome .NET Performance - 一系列优秀的 .NET 性能书籍、课程、培训、会议演讲、博客和最鼓舞人心的开源贡献者的精选列表。
- awesome-ddd - 一系列关于领域驱动设计 (DDD)、命令查询责任分离 (CQRS)、事件溯源和事件风暴资源的精选列表。
- Awesome Unity - 一个由社区驱动的、分类的高质量 Unity 资产、项目和资源的集合。
- Awesome Xamarin - 一个为 Xamarin 移动项目收集的有趣库/工具。
- Awesome Roslyn - 一个精选的关于 Roslyn 书籍、教程、开源项目、分析器、代码修复和重构的列表。
- .NET 开源开发者项目 - 这是一个由社区维护的列表,展示了对开发过程中的任何方面都非常有用的 .NET 开源项目。
- Awesome Microservices .NET Core - 一系列关于 .NET Core 微服务的精彩培训、文章、视频、书籍、课程、示例项目和工具的集合。
- dotnet-console-games - 在 .NET 控制台应用程序中实现的示例游戏。
- extra-awesome-dotnet - 排序的精彩 .NET 仓库列表,包含星标、问题和分支的数量!
资源
- 探索 .NET - 令人惊叹的 .NET 开源和社区资源。
- NuGet Trends - 查看 NuGet 包的采用情况以及 NuGet 上的热门趋势。
- 每周 C# 摘要 - 每周电子邮件简报,精选 .NET 社区的 5 个顶级链接。
- ASP.NET Core 开发者路线图 - 成为 ASP.NET 开发者的完整指南。