DotNet 资源大全中文版
【导读】:awesome-dotnet 就是 quozd
发起维护的 .Net 资源列表,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等。
中文版由开源前哨
和DotNet
微信公号团队维护更新,欢迎在 Github 上关注。
本项目的参与者
注:名单不分排名,不定期补充更新
资源列表
算法与数据结构
- Algorithmia - 用于.NET 3.5及以上的算法与数据结构库。算法包含复杂高级的算法,数据结构有图、优先队列、command和undo-redo等.
- C# Algorithms - 标准数据结构与算法的C#即插即用类库项目,包含35+数据结构和以面向对象独立组件形式设计的30+算法。
- Towel - 数据结构,算法,数学,元数据(metadata),扩展,终端,度量(measurements)和其它有用的东西。
API
应用框架
- .NET Boxed Framework - .NET Core 扩展与帮助NuGet包。
- ASP.NET Boilerplate - 现代ASP.NET MVC web应用程序的入门,包含最佳实践和最流行的工具。
- ABP - 下一代 ASP.NET Boilerplate web 应用框架。
- Butterfly Server .NET - 使定义的 Web API 和 Subscription API 能够在已连接的各个客户端间自动同步数据集,在最低花销下创建实时web应用和本地应用。
- Orleans - Orleans框架提供了直接构建分布式、大规模计算应用的方法,无需学习和使用复杂的并行或扩展模型。
- Newbe.Claptrap - 这是一个有着反应式、事件溯源和演员模式作为基本原理的服务端开发框架集。最重要的是,开发人员可以更简单的开发出“分布式”、“横向扩展”和“易测试”的应用。
- CoreFX - corefx 仓包含对 .NET Core 的库实现(叫做“CoreFX”)。它包含 System.Collections, System.IO, System.Xml 和许多其它组件。
- CSLA .NET - 业务层开发框架https://cslanet.com/。
- Mono - 开源ECMA CLI, C#, F#, VB and .NET的实现。
- Mono-Addins - Mono.Addins 是一个通用框架,用于创建可扩展的应用程序,以及这些应用程序的扩展插件。
- peasy - Peasy 是一个中间层框架用于提供易于使用的和灵活的规则引擎,旨在解决诸如并发处理、事务支持、容错、多线程、扩展性、异步和多客户端支持等常见问题,并且易于测试,学习难度也不大。
- Spring.Net - Spring.NET是一个开源的应用程序框架,可以便捷地创建企业级 .NET 项目。
- DotNetty - DotNetty 是 Netty 的端口, 异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务与客户端。
- AspectCore Framework - AspectCore Framework 是用于.NET Core and .NET Framework的基于面向切面编程的跨平台框架,对切面拦截器、依赖项注入集成、web应用、数据验证等提供核心支持。
- HopFramework - HopFramework 是一个轻松创建项目的框架,使用领域驱动设计和许多模式来交付更好的解决方案。
应用模板
- .NET Boxed Templates - 开箱即用的.NET 项目模板,用最少的代码做更快的开发。
- ASP.NET Core Starter Kit - 后端: .NET Core, EF Core, C#; 前端: Babel, Webpack, React, CSS模块
- MVC.Template - ASP.NET Core MVC 项目入门模板。
- ProjectScaffold - F# 基金会推荐的 .NET 解决方案的原型——包括文件系统的搭建、用于管理依赖的 Paket 以及用于自动化构建、测试的 FAKE。默认情况下,构建流程也会对文档进行编译,并生成 NuGet 程序包。
- Serene - Serenity 是一种 ASP.NET MVC 应用平台,其架构是基于服务的,旨在简化和缩短以数据为中心的业务应用程序开发。同时,Serene是构建Serenity应用的起步模板。
- Side-Waffle - 包含大量有用的Web和桌面开发模板。
- Template10 - 带有设计模式的 Windows 10 模板。
- Nucleus - Vue 起步应用模板,后端使用 ASP.NET Core API 分层体系结构和基于JWT的认证。
- JHipster.NET JHipster 的愿景是用 asp.net core 替换原先的SpringBoot后端。jhipster的主要目标是展示java中现代web开发最佳实践,因此.Net中项目的目标也是一样的。前端可以使用angular或react,不久后还能使用blazor。
人工智能
- AIMLBot (Program#) - 使用C#编写的基于AIML(人工智能标记语言)的小型、快速、兼容标准、易于定制的聊天机器人,。
- SIML - 人造智能标记语言(Synthetic Intelligence Markup Language),下一代聊天机器人及数字助手语言。
程序集处理
资产
认证和授权
区块链
书籍
自动构建
- Psake - 使用PowerShell开发的基于.NET的自动化构建工具。
- FAKE - 即F# Make,跨平台自动构建系统。
- Invoke-Build - 受Psake的启发,PowerShell自动化构建与测试工具。
- MSBuild - 微软构建引擎(Microsoft Build Engine)是.NET和 Visual Studio 的构建平台。
- Cake - 即 C# Make,使用 C# DSL 的跨平台自动构建系统。
- Nake - 神奇的基于脚本的 C# task runner。
- Nuke - 跨平台自动化构建系统。
- FlubuCore - 跨平台的自动化构建与部署系统,C#中用其创建项目与执行部署脚本。
智能业务与报表
- FastReport - .NET Core 2.x/.Net Framework 4.x的开源报表生成器,能够用在 ASP.NET MVC、 Web API 应用中。
- NReco PivotData - 内存数据aggregation/OLAP库,数据透视表生成(渲染HTML, 导出), ASP.NET 数据透视生成器工具 [$][对个人开发者及非软件服务提供商(non-SaaS)免费]
缓存
日历
- iCal.NET iCal.NET 是一个用于.NET的iCalendar(RFC 5545)类库,旨在提供RFC 5545合规性,同时完全兼容常用的日历应用和库。
CLI
CLR
- Runtime - runtime仓包含了完整的.NET Core运行时实现(又叫做"CoreCLR")。其包括RyuJIT、.NET GC、本地交互操作和许多其它组件。
CMS
- Composite C1 - 一个web内容管理系统,着重在用户体验及适应性。
- mojoPortal - MojoPortal 是一个使用 C# ASP.NET 开发的可扩展、跨数据库、移动友好的web内容管理系统(CMS)和 web 应用程序框架。
- N2CMS - 开源、轻量、代码优先的CMS,可以无缝地集成到任何MVC项目中。
- Orchard - 免费、开源、专注社区的项目,目标是在 ASP.NET 平台上提供应用程序和可重用组件。
- Piranha CMS - Piranha 是一个有趣、快速、轻量级的.NET框架,用于开发基于cms附带其它功能的web应用程序。它基于 ASP.NET MVC 和Web页面创建,完全兼容 Visual Studio 和 WebMatrix。https://piranhacms.org
- Umbraco - Umbraco 是一个基于 ASP.NET 平台构建的免费开源内容管理系统。
- BetterCMS - 用于开发人员与发布人员的开源.NET 直观用户界面。
- DotNetNuke - DNN 平台是我们免费、开源的 web CMS 以及每一个专业DNN解决方案的基础。世界范围内超过750,000家组织由DNN平台提供网站支持。
- BlogEngine.NET - 简单但是功能齐备的ASP.NET博客。
代码分析和度量
代码片段
- .NET Fiddle - 在浏览器中开发、编译及运行C#、F#和VB ,JSFiddle相当于.Net。
- Gistlyn - 创建、运行和分享你的可执行 C# GitHub 要点。
- Sharplab - 使用Roslyn不同的分支和版本来运行C#代码,查看IL生成的内容和检查JIT输出。
编译器、透明机和语言
- Bridge.NET - 将C#编译成JavaScript的开源编译器https://bridge.net/。
- ClojureCLR - Clojure到CLR的端口,Clojure项目的一部分。
- F# - F#编译器、核心库和工具——更安全、更快、代码更好的函数式编程语言。
- Hybridizer - CIL (C#, VB.Net, F#) 至 CUDA 编译器。[$]
- IronScheme - R6RS结构编译器、运行时和许多标准库。
- JSIL - CIL至JavaScript编译器http://jsil.org/。
- Mond - C#写的有着REPL、调试器和简单嵌入式API的动态类型脚本语言。
- Mono-basic - Visual Basic 编译器和运行时。
- Nemerle - Nemerle 是用于.NET平台的高阶静态类型编程语言。提供函数式的、面向对象的和迫切的功能。有着简单的类C#语法和强大的元编程系统。
- Netjs - .NET至TypeScript和JavaScript编译器,可移植类库在这方面有着良好的效果,甚至可以传递EXE。
- P - P 是用于异步事件驱动的编程语言。
- PeachPie - PeachPie是一个用于.NET和.NET Core的PHP编译器和运行时,让整个PHP应用跑在现代、安全和高性能的.NET与.NET Core平台上。
- Roslyn - .NET编译平台(“Roslyn”)提供开源的 C# 和 Visual Basic 编译器,包含丰富的代码分析 API,可以使用像 Visual Studio 一样的API来构建代码分析工具。
- Testura.Code - 围绕着Roslyn API的编译器,用于生成、保存和编译C#代码,提供方法与帮助来生成类、方法、状态和表达式。
- VisualFSharp - Visual F# 编译器和工具。
- Fable - F#至JavaScript编译器。
- LinqOptimizer - 自动查询优化器,用于顺序和并行LINQ编译器。
- Roslyn-linq-rewrite - 通过先重写LINQ表达式的语法树,以便使用简单的程序码编译C#代码,做到配置与动态分配最小化。
- Iron python - 集成到 dot net 的 python 2 实现。
- Amplifier.NET - 使用C#开发和编译你自己的内核功能,Amplifier 会小心的在你最喜欢的硬件上运行它。Amplifier 可以让.NET开发者在Intel CPU/GPU, NVIDIA, AMD上轻松的运行有着密集数学运算的复杂应用而不用开发额外的 C 内核代码。
压缩
持续集成
- TeamCity - 可直接使用,可扩展、开发人员友好的服务器搭建——开箱即用。[$]
- MyGet - 为NuGet、NPM、Bower 和 VSIX 提供持续集成、部署、宿主程序包仓库的服务。[$]
- AppVeyor - 以服务的方式持续构建和部署.NET 。[$] [对开源软件免费]
加密
数据库
数据库驱动
日期
反编译
部署
- Unfold - .NET web 应用的基于PowerShell的部署方案。
- DbUp - 帮助你部署更新到SQL Server 数据库的.NET库。它能够追踪已经在运行的SQL脚本,然后运行需要更新的脚本使数据库达到最新版本。
- Octo Pack - 使用 Octopus Deploy一类的工具来部署用于构建应用的NuGet包。
- yuniql - .NET Core制作的免费开源计划版本控制与迁移工具。在普通目录中用简单的SQL来运行迁移和处理版本,并且通过单机CLI(不需要CLR)、Azure Pipelines、Docker 或 ASP.NET Core 代码从CSV来埋藏你的数据。https://yuniql.io
DirectX
- Vortice.Windows - 用于 DirectX, WIC, Direct2D1, XInput, XAudio 和 X3DAudio 的跨平台.NET标准库。
分布式计算
- .NEXT Raft - .NET 和 ASP.NET Core 的Raft实现,可以通过分布式共识和复制来构建群集微服务。
- Orleans - Orleans 由微软学术开发,是一个可以直截了当的构建分布式大规模计算应用的框架,不需要学习和使用复杂的并发或其它缩放模式。
- Orleankka - Orleankka 是 Microsoft Orleans 框架的功能性API。它非常适合具有可组合、统一通信接口的场景,如CQRS、事件源(event-sourcing)、 路由重发(re-routin)、FSM等。用于F#的此API叫做 Orleankka.FSharp。
- Akka.net - Akka.NET 是流行的Java/Scala框架Akka的.NET版本,这是由社区提供的与Typesafe(原始的 Java、Scala 版本的开发商)无关。
- Zebus - Zebus 是一个内部由CQRS规则构建的轻量级、高度通用、点对点的服务总线。它能够让应用间以一种快速和容易的方式进行通信,最复杂的部分被隐藏在所要使用的库中,这样你就能聚焦于代码中困扰着你的难题,而不用调试消息传递代码,对于任何分布式应用来说这是一个基础。
- FsShelter - 用于授权Apache Storm组件和拓扑逻辑的F#库,对分布式和容错事件流处理提供高阶抽象。
- Foundatio - 用于构建分布式应用的可插拔基础块。
- MBrace - 在云上集成数据脚本。
- protoactor-dotnet - Proto Actor - 适用于Golang和C#的超快分布式Actor。
DLR
- cmd - 用一种简单的方式来运行外部程序的C#库。阐述了C#的“动态”功能。
文档
电子商务和支付
- Paypal Merchant SDK - Paypal Merchant官方.NET SDK。
- NopCommerce - nopCommerce. 免费开源的电子商务购物车(ASP.NET Core)。
- ServiceStack.Stripe - 针对 stripe.com REST API 的强类型.NET客户端。
- SmartStoreNET - 免费 ASP.NET MVC 电子商务购物车解决方案。
- Stripe.Net - Stripe.net 为 https://stripe.com/ 提供完整的.NET API服务。
- Virto Commerce - Virto Commerce 是第二个版本,也是唯一的开源许可下的企业级别电子商务产品。Virto Commerce 基于 .NET 4.5,使用了 MVC、IoC、EF、Azure、Angular JS 等其他先进技术。它可以在微软的云平台(Azure)、亚马逊云服务(AWS)和企业内部部署。https://virtocommerce.com
- SimplCommerce - 基于.NET Core的超级简单电子商务系统。易于使用且易于二次开发,由于有了.NET Core,你可以使用各种RDBMS(如Microsoft SQL Server、PostgreSQL、MySQL)在Linux、Windows上运行SimplCommerce。
- GrandNode - GrandNode 是一个给苛刻用户开发的多功能跨平台电子商务解决方案,可以在任何系统(Linux、Windows、Mac)上运行。GrandNode支持Docker,因此亦可在Docker的Linux容器上安装。可扩展的电子商务解决方案,能够独立适用于来自各种规模与行业的公司。
- Square - Square支付和其它SquareAPI官方SDK。
环境管理
ETL
时间聚合器和发送器
异常
扩展库
函数式编程
- language-ext - 这个库极大的使用了C# 6+的特性以提供多功能的‘基础类库’,那样你在看的时候就会感觉其像语言自身的扩展。它也包含‘类Erlang’过程系统(actors),能够有选择的持久化信息与状态到Redis(应用内部的消息发送可以在没有Redis的情况下进行)。 过程系统还支持信息与状态的Rx流,是允许反应式事件和信息派发的完整系统。
- Optional - C#鲁棒性option类型。
- JFlepp.Maybe - C# Maybe类型,旨在作为F#至C#中符合语言习惯的option类型。
- Optuple - 低调的给出
(bool, T)
类Option句法的.NET标准库,即对于库或其用户来说不会有新的option类型依赖。
游戏
- MonoGame - 创建跨平台游戏的强大框架。
- CocosSharp - CocosSharp 是 Cocos2D 和 Cocos3D API 的 C# 实现版本,可以在所有支持 MonoGame 的平台上运行。
- Duality - Duality 是一个2D游戏开发框架,专注于功能的模块化,自带一个可视化编辑器。
- Stride Game Engine - Stride Game Engine 是一个2D/3D跨平台游戏引擎,特征是有一个场景编辑器、颗粒度、物理渲染(PBR)、脚本及其它。
- Wave Engine - Wave engine 是一个免费的基于组件的现代游戏引擎,能够创建跨平台游戏,支持Kinect、Oculus Rift、Vuforia、Cardboard、Leap Motion 及其它。[免费][专利所有]
- UrhoSharp - UrhoSharp 是Urho3D游戏引擎的C#实现,运行在iOS,、Mac、Windows、Android 和 Linux 系统上。
- Nez - Nez 关注2D的免费框架,需要和MonoGame及FNA一起使用。
- BEPUphysics - 纯 C# 3D 物理库。
- Devtodev - 游戏开发者全周期分析解决方案。
- UnrealCLR - 集成.NET Core的Unreal引擎。
GIS
Git工具
图形
- LibTessDotNet - 知名的 GLU Tessellator .NET 端口,三角剖分算法。
- Oxyplot - .NET 跨平台绘图库。
- OpenTK - 封装了OpenGL、OpenCL和OpenAL的高级底层C#开发库。
- NGraphics - .NET 跨平台矢量图形渲染库。
- Live-Charts - 活动的,面向MVVM的以及现代的绘表库。
- Helix Toolkit - .NET 3D组件库。
- AssimpNet - Open Asset Importer ("Assimp")的跨平台.NET标准包装器。该库可以导入、处理和导出#D模型用于渲染图形/游戏应用。对于导入功能支持超过40种格式(如:OBJ、FBX、GLTF、3DS、Collada),这些格式的子集也能被导入(如:OBJ、GLTF、3DS、Collada)。对于实时渲染,网格处理功能可以集成或优化网格数据。
- Silk.NET - 许多高级API的跨平台、高性能、低阶.NET标准包装器,如OpenGL、OpenCL、OpenAL、OpenXR、Assimp、GLFW以及其它。此外还能包装本地API,包括自己的Windowing和Input抽象。 使得使用Silk.NET开发游戏和应用变得轻而易举,3D应用开发者所需的东西应有尽有。
- Veldrid - .NET低阶、可移植图形和计算库。
- RealTimeGraphX - RealTimeGraphX 是用于WPF、UWP和Xamarin Forms(不久后实现)的与数据类型无关的高性能绘图库。
GUI
- HandyControl - 包含一些简单常用的WPF控件。
- Lara - Lara Web Engine 是C#中用于开发Web用户接口的库。
- QtSharp - 用于Qt的Mono/.NET Bindings。
- Qml.Net - Mono/.NET/.NET Core 的跨平台 Qml/.NET 集成。
- MahApps.Metro - 用于创建Metro风格的WPF应用工具箱。
- Callisto - 用于 Windows 8 XAML 应用的控件工具箱。包含若干UI控件,让你更容易地创建符合 Windows UI 风格规范的Windows商店应用。
- ObjectListView - ObjectListView 使用C#封装了.NET的ListView控件,使得ListView更加易用,并且加入了一些新特性。
- DockPanelSuite - 灵感来自 Visual Studio 的停靠窗口(docking)类库,用于.NET WinForm应用。
- AvalonEdit - 在SharpDevelop中使用,基于WPF的文本编辑器组件。
- XWT - 跨平台UI工具箱,用于创建.NET和Mono桌面应用程序。
- Gtk# - Gtk#是Gtk+ GUI 工具箱的Mono/.NET版本,绝大多数Mono中的GUI应用都基于它构建。
- MaterialDesignInXamlToolkit - 用于创建Material Design风格的WPF应用工具箱。
- Eto.Forms - 跨平台GUI框架,用于.NET和Mono的桌面和移动应用。
- Dragablz - 可拖拽、可分离(tearable,译者注:即拖拽标签页成为独立窗口)的WPF标签页控件(类似 Chrome)。支持布局和主题,包含兼容 MahApps 和 Material Design 的主题。
- Fluent.Ribbon - Fluent Ribbon Control Suite 是一个在WPF中实现Office和 Windows 8 风格的Ribbon库。
- Office Ribbon - 为WinForms实现 MS Office Ribbon 的库。
- MaterialSkin - .NET WinForms, C# 或 VB.Net 主题适配 Google's Material Design 原则。
- Xamarin.Forms - 从单独、共享的C#代码库构建用于iOS、Android和Windows的本地UI。
- SciterSharp - 除了HTML外还使用Sciter(商业使用也是免费的)引擎的所有特性:CSS3, SVG, scripting, AJAX, <video>...来创建.NET跨平台桌面应用。
- Empty Keys UI - 基于用户界面库的富平台与富引擎XAML。[免费][专利所有]
- UWP Community Toolkit - UWP Community Toolkit 包括了帮助器功能、自定义控件和应用服务,简化和阐述了针对Windows 10的开发UWP应用常见开发任务。
- ScintillaNET - 用于Scintilla文本编辑器组件(通过Notepad++使用Scintilla)的Windows Forms。
- FastColoredTextBox - Fast Colored TextBox 是用于.NET的文本编辑器组件。可以创建有语法高亮的自定义文本编辑器。在小型、中型、大型及超大型文件上工作良好。
- Avalonia - 多平台.NET UI控件(即之前的Perspex)。
- Modern UI for WPF - MUI - 把WPF应用转换为看起来很不错的现代UI应用的控件和类型集。
- WinApi - 简单、直接、超薄的CLR库用于有着自动化、开窗术(windowing)、DirectX、OpenGL和Skia帮助器的高性能 Win32 Native Interop。
- Neutronium - 使用HTML、CSS、javascript和MVVM绑定来构建 WPF .NET 桌面应用。
- Ooui - 小型跨平台UI库,将本机UI开发的简单性带到web。
- AdonisUI - 轻量级UI工具箱,为WPF应用提供经典但加强版的Windows视觉。
- Windows UI Library - Windows UI 库(WinUI),为 Windows UWP 提供官方的本机 Microsoft UI 控件和功能。
- Bunifu UI Framework - 精心制作的Winforms控件和组件,用于创建相当不错的现代应用UI。[$]
- Ookii.Dialogs.Wpf - 为WPF应用提供常见的Windows对话框,如:任务对话框、证书对话框、进度条对话框、目录浏览对话框及其它。
- Ookii.Dialogs.WinForms - 为 Windows Forms 应用提供常见的Windows对话框,如:任务对话框、证书对话框、进度条对话框、目录浏览对话框及其它。
HTML and CSS
HTTP
IDE
图像处理
安装工具
国际化
互操作
IoC
JavaScript引擎
- ClearScript - 轻松添加脚本到.NET应用的库,目前支持JavaScript (via V8 and JScript) 和 VBScript。
- Edge.js - 在Windows、macOS和Linux上实时运行.NET和Node.js代码。
- Jint - .NET的JavaScript翻译员,完全符合ECMA 5.1,并且能够运行在任何.NET平台上。
- Jurassic - ECMAScript语言和运行时的实现,旨在为.NET提供JavaScript的最佳性能与最符合标准的实现。
日志
- Essential Diagnostics - 为内置System.Diagnostics 命名空间扩展功能,提供更灵活的日志功能。
- NLog - NLog - 先进的.NET和Silverlight日志工具。
- Logazmic - 用于Windows的开源NLog查看器。
- ELMAH - 官方的ELMAH站点。
- Elmah MVC - MVC版Elmah。
- Logary - 是一个mono和.Net平台下高性能、多目标的日志、度量、追踪和健康检查库。支持多目标,为微服务构建。
- Log4Net - Apache log4net 库是一个工具用于帮助程序员向多个不同的目标输出日志。
- Rollbar.NET - 在使用Rollbar.com时简化实时远程错误监控。用于任何.NET技术栈的开源 Rollbar Notifier SDK。这个SDK可以用于任何构建于如下版本的应用中:.NET Core 2.0+、.NET Standard 2.0+、.NET Full Framework 4.5.1+、Mono、Xamarin,以及.NET Standard 2.0+的所有实现。基于异常数据、线索数据、信息性消息和遥测数据它简化了构建数据负载,并且把这些负载发送给 Rollbar API 用于远程监控和分析宿主应用的表现。
- Sentry - 用于Sentry开源错误追踪的.NET SDK,帮助开发人员实时监控和修复崩溃。
- Serilog - 一个NoSQL时代下简单直接的日志库。将多个优秀的传统结构化分析日志功能合并到一个易于使用的程序集中。
- StackExchange.Exceptional - Stack Exchange 网络使用的错误处理程序。
- Semantic Logging Application Block (SLAB) - 为内置System.Diagnostics.Tracing命名空间(EventSource类)扩展功能,支持将日志记录到多个容器中,包括Azure表存储、数据库、文件(JSON、XML、文本文件)。通过ETW支持进程内和进程外的日志记录,支持Rx进行实时的事件过滤和聚合。
- Foundatio - 流畅的记日志API,可以用于通过你的程序记录消息。
- Exceptionless - Exceptionless .NET 客户端。
- Loupe - 中心化.NET日志记录与监控。 [专利所有] [免费套餐]
- elmah.io - 使用ELMAH给 .NET web 应用云记日志,在上线前发现bug。强有力的集成了Slack、GitHub、Visual Studio等的搜索和API。 [对开源软件免费] [$]
- BugSnag - 记录错误,包括有用的诊断信息,如stack trace、session、release等。有免费的套餐。 [对开源软件免费][$]
机器学习和数据科学
- Infer.NET - 在绘图模型上运行Bayesian接口的框架,亦可用于概率编程。
- Accord.NET - 机器学习框架,包含了音频和图像处理的库(计算机视觉、计算机听觉、信号处理和统计)。
- Accord.NET Extensions - 高级图像处理和计算机视觉算法扩展。
- AForge.NET - 为计算机视觉和人工智能领域的开发者和研究人员提供的框架(包括图像处理、神经网络、遗传算法、机器学习、机器人科学)。
- Catalyst 跨平台自然语言处理(NLP)库,受spaCy的启发,有着预先训练的模型和灵活的实体识别模型,对训练单词和嵌入式文档提供开箱即用的支持,是SciSharp Stack的一部分。
- Deedle - 处理探索性数据的数据帧和时序库,支持C#和F#。
- FsLab - 数据科学和机器学习库的集合,支持F#和.NET。
- GeneticSharp - 用于 .NET Core 和 .NET Framework 的多平台遗传算法库。这个库对遗传算法算子有着多种实现,如:选择、交叉、变异、再插入和终止。
- numl - 包含最流行的监督学习和无监督学习算法,尽量减少创建预测模型时的冲突。
- ML.NET - 跨平台机器学习框架,使机器学习对.NET开发者来说变为可能。
- R Provider - 将R语言包和函数封装为类型安全的类型提供程序供F#调用。
- F# Data - F#类型提供方,访问XML、JSON、CSV和HTML文件(基于样例文档),以及WorldBank数据。
- Spreads - 用于数据流的实时与探索分析的Series和Panels,Spreads库的性能和内存使用得到优化,其速度数倍于其它开源项目。
- SciSharp STACK - 由最流行的Python库转化的C#创建的用于.NET的富机器学习生态。
- Synapses - F#开发的内存神经网络库。
Markdown处理器
- MarkdownSharp - C#实现的开源Markdown处理器,如Stack Overflow所示。
- F# Formatting - 用于生成F#和C#项目文档的工具。该工具库的核心组件中包含了可扩展的Markdown解析器。
- CommonMark.NET - CommonMark规范的C#实现,用于将Markdown文档转换为HTML,对最佳性能和可移植性进行了优化。
- markdig - 用于.NET的快速、强大、符合CommonMark的Markdown处理器扩展。
邮件
- FluentEmail - System.Net.Mail的封装,支持Razor模板引擎。
- MailKit - 基于MimeKit构建的完整的跨平台的邮件协议栈,包括 IMAP、POP3、SMTP。
- MimeKit - 跨平台 .NET MIME 创建和解析库,支持 S/MIME、PGP、TNEF 和 Unix mbox spools。
- PreMailer.Net - 一个最大限度支持邮件客户端的C#库,可以把样式表嵌入到内置的style属性中。
- StrongGrid - 用于 SendGrid v3 API 的客户端。不仅能发送邮件,还能批量导入联系人、管理列表与细分(segment)、给列表创建自定义属性等,还包含 SendGrid Webhooks 的解析器。
数学
媒体
- CSCore - 高级音,支持回放/录音、解码/编码和实时音频数据处理(有效,形象化...)。
- TagLib# - TagLib#(即 taglib-sharp)是一个读写多媒体文件元数据的库,支持视频、音频和照片格式。
- LibVLCSharp - 用于libvlc的Xamarin绑定,VideoLAN制作的支持VLC应用的多媒体框架。
- NAudio - 回放、解码、编码各种各样的音频文件格式,如MP3、MP4、WAV、AIFF、Speex等。
- Xabe.FFmpeg - FFmpeg的.NET Standard封装。在不用知道FFmpeg是怎样工作的情况下就可以处理媒体文件,可以用于从C#应用中把自定义参数传递给FFmpeg。[$]
度量
微框架
缩率
杂项
- CSharp Pad - 有着非常不错的代码完成度的基于C#的REPL。
- AzureCrawler - 从 Angular、Ember、Durandal 或任何JavaScript应用中获取HTML快照。
- CSScript - CS-Script是一个基于CLR的脚本系统,使用C#作为编程语言。CS-Script目前针对微软的CLR实现(.NET 2.0/3.0/3.5/4.0/4.5)并完整支持Mono。附带很多附加特性,比如脚本宿主。
- CsvHelper - 帮助读写CSV文件的开发库。https://github.com/JoshClose/CsvHelper
- Hashids.net - 按照https://hashids.org,从整型变量中生成唯一的短整型id。
- ConsoleTableExt - .Net控制台应用生成表格的库。
- FlatMapper - 以兼容LINQ的方式在纯文本文件间导入和导出数据的库。
- FluentValidation - 一个小型的.NET校验库,使用流式接口和lambda表达式构建校验规则。
- FormHelper - ASP.NET Core 表格与验证帮助器。表格帮助器可以创建ajax表格并验证是否输入了任何javascript代码。(兼容流式验证)
- Guard - 高性能、可扩展的参数验证库。
- Valit - Valit是用于.NET的非常简单的流式验证。
- Humanizer - Humanizer能够在.NET平台上满足所有针对字符串、枚举、日期、时间、时间范围、数字等类型数据的操作和显示要求。
- LINQPad - C#/VB/F#的便签本,能够立即执行任何表达式、语句块或程序,带有富文本显示等有用的特性。同样可以让你使用LINQ进行交互性数据库查询。[$]
- Polly - 表达诸如Retry、Wait-and-Retry、Circuit Breaker 和 Bulkhead Isolation的瞬时异常处理和恢复策略,线程安全且支持异步(4.0 / 4.5 / .NET Core / .NET Standard / Xamarin)。
- Rant - Rant Procedural Text 生成 DSL。
- ScriptCS - 使用文本编辑器、NuGet和强大的Roslyn来开发C#应用。
- Shielded - .NET的 Software Transactional Memory (STM) 实现。
- MSBuild ILMerge task - MSBuild ILMerge task 是一个NuGet包,在自动构建 Visual Studio 项目的时候可以使用有名的ILMerge工具。
- ReactJS.NET - ReactJS.NET是一个在C#中单独使用Babel和Facebook的React和JSX更容易的库。
- Aeron.NET - 可靠有效的UDP单点广播、UDP多点广播和IPC消息发送——Aeron的.NET版。
- TypeShape - TypeShape是一个用于实践性通用编程的小型、可扩展F#库。
- Streams - 用于数据流上有效函数式管道的轻量级F#/C#库。
- Warden - 给应用、资源和基础设施定义“健康检查”,保持Warden实时被监控。
- ByteSize - ByteSize是一个工具类,通过消除要表示值的歧义,可以更轻松的在代码中表示字节大小。ByteSize是字节,System.TimeSpan是时间。
- Jot - 持久化与恢复应用状态的库。(.settinngs文件更好的替代)
- Enums.NET - Enums.NET 是一个高性能的类型安全的.NET枚举工具库。
- HidLibrary - 该库可以让你在.NET中使用可兼容的Hid对USB设备进行枚举和通信。
- SystemWrapper - SystemWrapper是一个更轻松的测试系统API的.NET库。
- YoutubeExplode - 用于提取元数据和下载Youtube视频与播放列表的Ultimate库。
- DeviceId - 生成一个“设备ID”用于唯一的鉴别一台计算机。
- DeviceDetector.NET - 通用设备探测库可以解析任何用户客户端以及探测浏览器、操作系统、设备使用类型(桌面、写字板(tablet)、移动端、电视、汽车、控制台等)、商标和模型。
- NaturalSort.Extension - StringComparer的扩展方法,增加了对自然排序的支持(例:用"abc1", "abc2", "abc10"替代"abc1", "abc10", "abc2").
- Coravel Near-zero配置.NET Core 库,轻轻松松的进行任务调度、缓存、队列、邮件、事件广播等。
MVVM
- Caliburn.Micro - 小型但功能强大的框架,旨在所有XAML平台上创建应用。对MV*模式的强大支持可以让你快速构建解决方案,且不必牺牲代码质量和可测试性。
- MVVM Light Toolkit - 该工具箱主要是用来加速创建和开发MVVM应用,适用于WPF、Silverlight、Windows Store(RT)和 Windows Phone 平台。
- Catel - Catel是一个应用开发平台,主要着眼于MVVM(WPF、Silverlight、Windows Phone 及 WinRT)和MVC(ASP.NET MVC)。Catel的核心部分包含IoC容器、模型、校验、备忘录模式(memento)、消息中介(message mediator)、参数检查等。
- UpdateControls - Update Controls 不需要实现
INotifyPropertyChanged
或声明一个DependencyProperty
,可以将控件直接关联到CLR属性,完美贴合 Model/View/ViewModel模式。
- ReactiveUI - 一个.NET下的MVVM框架,集成了反应式(Rx)扩展框架,允许开发者使用 WPF、Windows Store Apps、WP8 或 Xamarin 创建优雅的、可测试的应用。
- Okra App Framework - 一个以app为中心的 Windows 8.1 MVVM 框架,融合依赖注入,包含一套完整的 Visual Studio MVVM 模板。
- Prism - 跨平台桌面与移动端MVVM开发框架。
- Win Application Framework (WAF) - 一个轻量级的框架,能够帮助你创建有着不错结构的WPF和UWP应用。支持使用分层架构和MVVM模式。
- MVVMCross - 跨平台mvvm移动开发框架,针对WP7和WP8的WPF/Silverlight、Android的Mono、iOS的MonoTouch、Windows通用项目(WPA8.1 和 Windows 8.1 应用商店app). 它使用可移植类库(PCL)来支持可维护的跨平台C#原生应用。
- Stylet - 最小化MVVM框架(参考 Caliburn Micro),包含了良好的文档、高覆盖率的测试以及自带的IoC容器。
- Gemini - 类似 Visual Studio Shell 的IDE框架。基于WPF、AvalonDock和Caliburn Micro构建。
- Toms Toolbox - Visual Composition 框架用于在Managed Extensibility Framework (MEF)的基础上轻松构建模块化的MVVM应用.
- MVVM Dialogs - 当在WPF或UWP中使用MVVM时,框架简化了从视图模型中打开对话框的概念。
- Smaragd - 使用MVVM结构来开发.NET应用的依赖于平台的轻量级库。
对象到对象映射
Office
- ExcelDna - ExcelDna使用C#、F#或VB .NET让 Excel Add-Ins 的创建和部署更轻松。
- ClosedXML - ClosedXML让开发人员更便捷地创建 Excel 2007、2010 文件。
- NPOI - .NET版的POI项目,原Java版于。https://poi.apache.org/
- EPPlus - EPPlus是一个.NET库,用于读写 Open Office Xml 格式的 Excel 2007、2010 文件(xlsx)。
- 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包装器程序集。
- GemBox.Bundle - .NET组件的包,使office文档(Excel、Word、PowerPoint、PDF和邮件)的处理变得快速、简单、有效。[$][简装版免费]
- Outlook Redemption - 配合 Outlook Object Model 和 (Extended) MAPI 使用的库,支持 Outlook 98 - 2019。在Exchange和Outlook中和对象/邮件/账号/目录一起使用。[$]
ORM
包管理
PDF
- Cloudmersive PDF - Cloudmersive PDF 是一个本机 .NET Framework 和 .NET Core NuGet 库和API服务,可以大规模且高保真的创建、修改、加密或转换PDF文档 ,并且无限期免费使用。[免费]
- Docotic.Pdf - .NET 和 .NET Core 应用中创建、读、编辑、画以及打印PDF文档的PDF库。 100%可控且没有不安全的代码。[$] [开源软件免费]
- ITextSharp - iText是一个PDF库,用于创建、修改、检查和维护 Portable Document Format(PDF)格式的文档。[$] [开源软件免费]
- PdfiumViewer - PdfiumViewer是一个基于PDFium项目的PDF查看器。
- WkhtmlToPdf - 围绕wkhtmltopdf中的工具的C#包装器,可以使用HTML和CSS生成漂亮的PDF文件。
- Pdfium.Net SDK - 高级 C# PDF 库,用于渲染、创建、编辑、合并、拆分、打印以及查看PDF。开源的PDF查看器在GitHub上可获得。NuGet package也可以轻松的用到你的项目中去。[$]
分析器
协议
- SSH.NET - .NET上安全的Shell(SSH)库,进行了并行优化。提供SSH命令,SFTP/SCP上传和下载,以及SOCKS4/SOCKS5/HTTP代理。
- FluentFTP - 用于.NET的FTP和FTPS库,对速度进行了优化。提供大量的FTP命令,文件上传/下载和FTP代理。
- SharpSnmpLib - .NET/Mono/Xamarin的开源SNMP实现,支持版本有:1、2c和3。
- DNS - 解析与序列化DNS消息的库,包括基本的DNS客户端和服务端。
- DnsClient.NET - 用于 .NET Framework DNS查找的简单但是强大、高性能的开源库。
推送通知
- PushSharp - 服务器端的推送通知库,支持iOS、OSX、Android、Chrome、Windows Phone、Windows 8、Backberry和Amazon设备。
查询构造器
- SqlKata - 优雅的SQL查询构造器,支持复杂查询、连接查询、子查询、复杂条件查询、供应商引擎目标(vendor engine targets)等。
队列
反应式编程
- Rx.NET - Reactive Extensions (Rx) 库使用观察者序列(observable sequences)和LINQ风格的查询操作,来进行异步和基于事件的程序开发。
- Dynamic Data - 用于集合的 Reactive Extensions (Rx).
实时通信
计划调度
SDK和API客户端
Search
序列化
- Ceras - Ceras是一个二进制序列化器,能把任何对象转换成字节数组并返回,在性能、速度和可用性上都有提升。支持引用循环,庞大/复杂的继承链,将对象拆分为多个部分等。
- Protobuf.NET - Protocol buffers 是Google使用的二进制序列化格式,在Google数据通讯中大量使用。
- Json.NET - .NET平台下流行的、高性能JSON框架。
- ServiceStack.Text - 在servicestack.net中使用的JSON、JSV、CSV文本序列化器。
- Msgpack-Cli - CLI的MessagePack实现。
- Jil - 在Sigil(StackOverflow上使用)上构造的 .NET JSON 序列化器,
- ProtoBuf - 根据.proto规范,为 protocol buffer 序列化内容生成C#代码。
- F# Data - F#类型提供程序,访问XML、JSON、CSV和HTML文件(基于样例文档),以及访问 WorldBank 数据。
- Bond - 跨平台框架,用于处理系统化(schematized)数据。支持跨平台的序列化、反序列化,以及强大的通用机制来高效处理数据。
- Hyperion - .NET framework 的高性能多态序列化器。
- FileHelpers - 免费易用的.NET库,从文件、字符串、流的固定长度或定界记录(delimited records)中导入或导出数据.
- FsPickler - .NET的快速多格式消息序列化器。
- Migrant - 可用于未装饰类的快速、灵活的序列化框架。
- Utf8Json - 用于C#(.NET、.NET Core、Unity和Xamarin)的快速且零分配(Zero Allocation)JSON序列化器,由于可以直接读写成UTF8的二进制数据,因此性能上得到提升。
短信和电话
状态机
静态网站生成
强命名
风格指南
模板引擎
测试
工具
- Downloader - 快速可靠的分段下载器,具有针对.NET应用的异步进度事件。
- Fiddler - 任何浏览器、系统或平台都可使用的免费web调试代理。
- Open Live Writer - Blog writer 集成了WordPress、Blogger等,Open Live Writer 使写、预览、发布博客变得更容易。
- CodeHub - 在任何IOS设备上浏览和维护GitHub仓库最好的方式是使用CodeHub。
- ShareX - ShareX是免费开源的程序,可以截取或记录屏幕上的任意区域,只需按一个键就可以分享。它还可以把图片、文本或其它类型文件上传到超过80个目的地。
- Myrtille - 本地HTML4/5远程桌面协议客户端,用于.NET的C#开发的HTTP网关。
- Opserver - 栈交换(Stack Exchange)监控系统
- CatLight - 为TFS/Jenkins/Travis/Appveyor创建状态通知,基于 .NET Core 和 Electron的跨平台桌面应用。[免费][专利所有]
- Mockaco - 可快速配置的 API mock 服务器,Roslyn脚本API支持的可以模拟HTTP响应,改变 ASP.NET Core 功能,内置假数据生成和C#脚本引擎。
- Netling - 负载测试工具客户端,用于简单的web测试,CPU或内存占用少,速度快。
- Papercut - Papercut是一个开源(基于.NET)的可视化邮件测试工具,在本地SMTP服务器上运行的旨在接收和提醒测试邮件消息。
- Visual Studio Uninstaller - 卸载和清除 Visual Studio 的所有模块。
- Fake JSON Server - 假的 REST API 用于原型制作或作为CRUD后台。不需要定义类型,它使用动态类型,数据被存储在一个JSON文件中。具有认证、WebSocket提醒、长时间运行的异步操作、随机生成错误和延时,以及实验性的GraphQL支持。
- posh-dotnet - 用于dotnet CLI的
PowerShell
tab 补全。
- SmartCode - SmartCode = IDataSource -> IBuildTask -> IOutput => 构建一切!!! (包括[代码生成])
- NETworkManager - 用于管理网络和解决网络故障的强大工具。
- AnyStatus - 监测CI/CD管道、服务器、网络、健康和度量的桌面通知应用。支持 Azure DevOps、Jenkins、TeamCity、AppVeyor等的任何状态。
- OctoLinker - 通过
project.json
、packages.config
、*.props
、*.targets
进行导航,以及用于GitHub有着OctoLinker浏览器扩展的C#/F#/VB.NET 项目文件有效处理。
- YARP - YARP 是一个反向代理工具,用于在.NET中创建快速的代理服务器,使用了 ASP.NET 和 .NET 基础。
交易
UI自动化
Visual Studio 插件
Web浏览器
- CefSharp - Chromium支持的HTML5、CSS3和JS web 浏览器,用于WinForms和WPF。
Web框架
- ASP.NET MVC - ASP.NET是一个免费的web框架,用于创建优秀的web站点和应用程序。
- Coalesce - Coalesce是一个 ASP.NET Core web 快速开发框架。
- FubuMVC - .NET前端控制器(front-controller)风格的MVC框架。
- NancyFx - 在.Net和Mono上创建HTTP服务的一个轻量级、非正式的框架。
- IISNode - IIS中宿主NodeJS应用。
- Suave.IO - 会让你在提前完成F#项目开发时喜极而泣的框架/库/web服务器(一个用F#编写Web应用的框架和服务器端)。
- DotVVM - 有 OWIN 和 ASP.NET Core 支持的 MVVM 框架,用于那些不想写JavaScript的人,同时是 Visual Studio 2015 和 2017的免费扩展。
- Giraffe - 构建富web应用时的多功能 (F#) ASP.NET Core 微矿建。
Web服务器
- Kestrel - 用于 ASP.NET Core 的基于libuv的web服务器。
- EmbedIO - 基于Mono编写的跨平台的Web服务器。
- XSP - Mono中的ASP.NET宿主服务器,包含了Apache模块、FastCGI模块,可挂载到其它web服务器或以一个测试用的独立服务器存在(类似微软的Cassini项目)。
WebSocket
Windows服务
- TopShelf - 一个简单的服务宿主框架,可使用.NET构建Windows服务。
WPF
解析器库
其他列表
资源