DotNet 资源大全(下)
HTML 和 CSS(HTML and CSS)
-
AngleSharp:支持构建完整的 HTML5 DOM 和 CSS3 模型。
-
CsQuery:jQuery 风格的HTML5 解析器,可与 DOM 交互。
-
dotless:ruby Less CSS 库的 .NET 移植版本。http://www.dotlesscss.org
-
ExCSS:C# 的 CSS3 解析器开发库。
-
FluentBootstrap:让ASP.NET MVC 和 WebPages 更容易使用 Boostrap CSS 框架。
-
HtmlAgilityPack:一个灵活的 HTML 解析器,可以对 DOM 进行读写,支持 XPATH 和 XSLT。
HTTP
-
Http.fs:
[F#]
中的一个函数式 HTTP 客户端。 -
RestSharp:.NET 下简单的 REST 和 HTTP API 协议客户端。
-
EasyHttp:C# Http开发库。
-
Refit :Xamarin 和 .NET 下自动生成强类型的 REST 库。
-
RestEase:类型安全且易于使用的 REST API 客户端库,简单可定制。大部分灵感来自 Refit。
IDE
-
SharpDevelop:用于 .NET 编程语言的免费 IDE。
-
MonoDevelop:MonoDevelop 是一个跨平台的 IDE,主要面向 Mono/.NET 开发者。
-
Visual Studio Express:用于 .NET 开发的免费、轻量版本的 Visual Studio。
-
Visual Studio Community:功能完整的免费 IDE。
-
Waf DotNetPad :简单快速的代码编辑器,让开发 C# 或 Visual Basic 充满乐趣。
-
Visual Studio Code:非常棒的编辑器,来自微软,基于 GitHub Atom。
图像处理(Image Processing)
-
ImageResizer:在图片 URL 后面增加命令,在几毫秒内获取修改后的版本,支持实时的对图片进行缩放、编辑。
-
ImageProcessor:开源 .NET 库,用于实时处理图片。
-
DynamicImage:高性能开源图片处理库,用于 ASP.NET。
-
MetadataExtractor:从图片中提取 Exif、IPTC、XMP、ICC 等其它元数据信息。
-
Emgu CV:OpenCV 的 .NET 跨平台封装。
安装工具(Install Tools)
-
Wix Toolset:强大的工具集,用于创建你自己的 Windows 安装程序。
-
Squirrel:Squirrel 即是一套工具也是一个类库,可以无安全管理 Windows 桌面程序的安装和更新。
国际化(Internationalization)
-
i18n:ASP.NET MVC 智能国际化工具。
互操作(Interoperability)
-
CefSharp:Chromium Embedded Framework 的 .NET 支持(WPF 和 WinForm)。
-
CppSharp:在 C# 中平滑使用 C++ API 的工具。
-
Sharpen:Sharpen 是 db4o 编写的 Eclipse 插件,可以让你把 Java 项目转换为 C#。
-
CXXI:C++ 互操作框架。
IoC
-
Castle Windsor:Castle Windsor 是一个用于 .NET 和 Silverlight 的成熟的 控制反转(IoC) 容器。
-
Unity:轻量级、可扩展的依赖注入容器,支持构造函数、属性和方法调用注入。
-
Autofac:令人着迷的 .NET IoC 容器。
-
Ninject:.net 依赖注入的忍者。
-
StructureMap:.Net 最早的 IoC/ID 容器。
-
Spring.Net:Spring.NET 是一个开源应用程序框架,可以便捷地创建企业级 .NET 应用。
-
LightInject :一个超轻量级 IoC 容器。
-
TinyIoC:单文件、简单、跨平台的 IoC 容器。
日志(Logging)
-
Essential Diagnostics:为内置System.Diagnostics 命名空间扩展功能,提供更灵活的日志功能。
-
NLog:先进的 .NET 和 Silverlight 日志工具。
-
ELMAH:ELMAH 官方网站。
-
Elmah MVC:MVC 版 Elmah。
-
Logary:Logary 是一个 mono 和 .Net 平台下高性能、多目标的日志、度量、追踪和健康检查库。支持多目标,为微服务构建。
-
Log4Net:Apache log4net 工具库能够帮助程序员向多种不同的目标输出日志语句。
-
Serilog:一个 NoSQL 时代下简单直接的日志库。将多个优秀的传统结构化分析日志功能合并到一个易于使用的程序集中。
-
StackExchange.Exceptional:Stack Exchange 网络使用的错误处理程序。
-
Semantic Logging Application Block (SLAB):为内置 System.Diagnostics.Tracing 命名空间(EventSource类)扩展功能,支持将日志记录到多个容器中,包括 Azure 表存储、数据库、文件(JSON、XML、文本文件)。通过 ETW 支持进程内和进程外的日志记录,支持 Rx 进行实时的事件过滤和聚合。
机器学习和数据科学(Machine Learning and Data Science)
-
Accord.NET:机器学习框架,包含了音频和图像处理的库(计算机视觉、计算机听觉、信号处理和统计)。
-
Accord.NET Extensions:高级图像处理和计算机视觉算法扩展。
-
AForge.NET:为计算机视觉和人工智能领域的开发者和研究人员提供的框架(包括图像处理、神经网络、遗传算法、机器学习、机器人科学)。
-
Deedle:处理探索性数据的数据帧和时序库,支持 C# 和 F#。
-
FsLab:数据科学和机器学习库的集合,支持 F# 和 .NET。
-
numl :包含最流行的监督学习和无监督学习算法,尽量减少创建预测模型时的冲突。
-
R Provider :将 R 语言包和函数封装为类型安全的类型提供程序供 F# 调用。
-
F# Data:F# 类型提供程序,访问 XML、JSON、CSV 和 HTML 文件(基于样例文档),以及 WorldBank 数据。
Markdown 处理(Markdown Processors)
-
MarkdownSharp:C# 实现的开源 Markdown 处理器,在 Stack Overflow 中使用。
-
F# Formatting:用于生成 F# 和 C# 项目文档的工具。该工具库的核心组件中包含了可扩展的 Markdown 解析器。
-
CommonMark.NET:CommonMark 规范的 C# 实现,用于将 Markdown 文档转换为 HTML。为最佳性能和可移植性进行了优化。
邮件(Mail)
-
FluentEmail:System.Net.Mail 的一个流式(Fluent)封装,支持 razor 模板引擎。
-
MailKit:完整的跨平台的邮件协议栈,包括 IMAP、POP3、SMTP,支持验证等特性。基于 MimeKit 构建。
-
MimeKit:跨平台 .NET MIME 创建和解析库,支持 S/MIME、PGP、TNEF 和 Unix mbox spools。
-
PreMailer.Net:一个 C# 开发库,将你的样式表嵌入到内置的 style 属性中,最大限度支持邮件客户端。
数学(Mathematics)
-
MathNet:Math.NET 是一个开源项目,旨在创建和维护涵盖基础数学在内的工具集,面向高级和日常需要使用此类功能的 .Net 开发人员。
多媒体(Media)
-
TagLib#:TagLib#(即 taglib-sharp)是一个读写媒体文件元数据的库,支持视频、音频和照片格式。
度量(Metrics)
-
C# StatsD Client:Etsy StatsD 服务器的 C# 客户端
微框架(Micro Framework)
-
.NET Micro Framework Interpreter:Microsoft? .NET Micro Framework(NETMF)是一个在 Visual Studio 中提供为小型设备上编写嵌入式应用的框架。
杂项(Misc)
-
.NET Fiddle:在浏览器中编写、编译并运行 C# 代码。相当于 C# 版本的 JSFiddle。
-
AzureCrawler:从 Angular、Ember、Durandal 或任何 JavaScript 应用中获取 HTML 快照。
-
BitSharp:C# 比特币节点。
-
CSScript:CS-Script 是一个基于 CLR 的脚本系统,使用 C# 作为编程语言。CS-Script 目前针对微软的 CLR 实现(.NET 2.0/3.0/3.5/4.0/4.5)并完整支持 Mono。附带很多附加特性,比如脚本宿主。
-
CsvHelper:帮助读写 CSV 文件的开发库。http://csvhelper.com
-
FluentValidation:一个小型的 .NET 校验库,使用流式接口和 lambda 表达式构建校验规则。
-
Humanizer:Humanizer 能够在 .NET 平台上满足所有针对字符串、枚举、日期、时间、时间范围、数字等类型数据的操作和显示要求。
-
LINQPad:一个 C#/VB/F# 的便签本,能够立即执行任何表达式、语句块或程序,带有富文本显示等有用的特性。同样可以让你使用 LINQ 进行交互性数据库查询。 [$](译者注:也有免费许可,但是功能受限)
-
Polly:快捷便利的异常处理策略,例如 重试、始终重试、等待并重试或断路(Circuit Break)等行为。 (.NET 3.5、4.0、4.5、PCL、Xamarin)
-
Rant:Rant 程序文本生成 DSL(领域特定语言)。 http://berkin.me/rant
-
ScriptCS:使用文本编辑器、nuget 和强大的 Roslyn 来编写 C# 应用!
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 属性,这使得它完美贴合 MVVM 模式。
-
ReactiveUI:一个 .NET 下的 MVVM 框架,集成了反应性扩展框架(Rx),允许开发者使用 WPF、Windows Store Apps、WP8 或 Xamarin 创建优雅的、可测试的应用。
-
Okra App Framework:一个以 app 为中心的 Windows 8.1 MVVM 框架,融合依赖注入,包含一套完整的 Visual Studio MVVM 模板。
-
WPF Application Framework (WAF):一个轻量级的框架,能够帮助你创建结构优雅的 WPF 应用。支持你使用分层架构和 MVVM 模式。
-
MVVMCross: 跨平台mvvm 移动开发框架,针对 WP7 和 WP8 的 WPF/Silverlight、Android 的 Mono、iOS 的 MonoTouch 以及 WPA8.1/Windows 8.1 商店应用的 Windows Universal 项目。它使用可移植类库(PCL)来支持可维护的跨平台 C# 原生应用。
-
Stylet:最小化 MVVM 框架(参考 Caliburn Micro),包含了良好的文档、高覆盖率的测试以及自带的 IoC 容器。
-
Gemini:类似 Visual Studio Shell 的 IDE 框架。基于 WPF、AvalonDock 和 Caliburn Micro 构建。
Office
-
ClosedXML:ClosedXML 能够让开发人员更便捷地创建 Excel 2007、2010 文件。
-
NPOI:该项目是 .NET 版本的 POI 项目,原始的 Java 版本位于http://poi.apache.org/ 。
-
EPPlus:EPPlus 是一个 .net 类库,用于读写 Open Office Xml 格式的 Excel 2007、2010 文件(xlsx)。
-
Open XML SDK:Open XML SDK 是一个开源库,用于处理 Open XML 文档(包括 DOCX、XLSX 和 PPTX)。
ORM
-
Entity Framework:对象关系映射器(ORM)框架,让 .NET 开发人员使用领域特定的对象来处理关系型数据。
-
BL Toolkit:.NET 平台的业务逻辑工具箱。
-
Dapper:一个超小型、快捷轻便的 ORM 框架。
-
Dapper Extensions:小型类库,对 Dapper 的功能进行补充,为你的简单传统 CLR 对象提供基础的 CRUD(Get、Insert、Update、Delete) 操作。
-
NHibernate:NHibernate 对象关系映射器(移植自 Java 平台的 Hibernate)。
-
Fluent NHibernate:便捷、无需使用 XML、编译安全、自动化、基于约定命名的 NHibernate 映射库。
-
FluentMigrator:.net 下的便捷的迁移框架。
-
ServiceStack.OrmLite:轻量、简单、快速、基于命名约定的 POCO ORM。
-
Massive:小型、令人愉悦的数据访问工具,始终关爱你直到永远。
-
LINQ to DB:最快的 LINQ 数据库访问库,简单、轻量、快速、类型安全,在你的对象(POCO)和数据库之间搭建桥梁。
包管理(Package Management)
-
NuGet:.NET 包管理器。
-
MyGet:为 NuGet、NPM、Bower 和 VSIX 提供程序包仓库宿主,同样提供 CI 服务。 [开源软件免费] [$]
-
Paket:.NET 的一个包依赖管理器,支持 NuGet 包和 GitHub 仓库。 http://fsprojects.github.io/Paket/
-
ITextSharp:iText 是一个PDF库,用于创建、修改、检查和维护 Portable Document Format(PDF)格式的文档 [$][开源软件免费]
Profiler
-
MiniProfiler:一个简单但有效的小型 profiler,用于 ASP.NET 网站。
-
Glimpse:开源 web 诊断平台。
推送通知(Push Notifications)
-
PushSharp:服务器端的推送通知类库,支持 iOS、OSX、Android、Chrome、Windows Phone、Windows 8、Backberry 和 Amazon 设备。
队列(Queue)
-
NServiceBus:.NET 平台下最流行的服务总线。
-
Hangfire:在 ASP.NET 应用中,超简单地实现自主引导(fire-and-forget)、延迟和周期重复任务。
-
RabbitMQ.NET:AMQP 客户端的 C# 实现,通过 WCF 绑定到已有的 AMQP 服务。
-
NetMQ:NetMQ 是 ZeroMQ 纯 C# 移植版本。
-
MassTransit:MassTransit 是一个精简服务总线(lean service bus)的实现,使用 .NET Framework 来构建松耦合应用程序。
-
Rebus:Rebus 是一个 .NET 平台的精简服务总线和 NServiceBus、MassTransit类似,只不过更加精简。
-
EasyNetQ:易于使用的 RabbitMQ .NET API。
-
Warewolf ESB:易于使用的服务总线和微服务平台,可以在一个可视化 IDE 中便捷的创建应用和服务。
响应式编程(Reactive Programming)
-
Rx.NET:Reactive Extensions (Rx)库使用观察者序列(observable sequences)和 LINQ 风格的查询操作,来进行异步和基于事件的程序开发
-
Dynamic Data:用于集合的响应式编程框架。
计划调度(Scheduling)
-
QuartzNet:Quartz 是 .NET 平台的企业级调度器。
SDK 和 API 客户端(SDK and API Clients)
-
AWS SDK:AWS SDK for .NET 让 .NET 开发者可以便捷地操作 Amazon Web Services。
-
Azure PowerShell:一组 PowerShell 命令行,让开发者和管理员开发、部署和管理 Microsoft Azure 应用。
-
Octokit.NET:.NET 平台下的 GitHub API 客户端库。
-
DropNet:Dropbox API 客户端开发库。
搜索(Search)
-
Elasticsearch .NET:Elasticsearch.Net & NEST。
-
PlainElastic.Net:ElasticSearch 的一个简单的 .Net 客户端。
-
SolrNet:.Net 平台下的 Solr 客户端。
-
Lucene.net:Lucene.Net 是 Lucene 搜索引擎库的移植,使用 C# 编写,面向 .NET 环境的用户。
序列化(Serialization)
-
Protobuf.NET:Protocol buffers 是 Google 使用的二进制序列化格式,在 Google 数据通讯中大量使用。
-
Json.NET:.NET 平台下流行的、高性能 JSON 框架。
-
ServiceStack.Text:在 servicestack.net 中使用的 JSON、JSV、CSV 文本序列化器。
-
Msgpack-Cli:MessagePack 的 CLI 实现。
-
Jil:.NET 平台下快速的 JSON 序列化器,基于 Sigil (在 * 中使用)。
-
ProtoBuf:根据 .proto 规范,为 protocol buffer 序列化内容生成 C# 代码。
-
F# Data:F# 类型提供程序,访问 XML、JSON、CSV 和 HTML 文件(基于样例文档),以及访问 WorldBank 数据。
-
Bond:跨平台框架,用于处理系统化(schematized)数据。支持跨平台的序列化、反序列化,以及强大的通用机制来高效处理数据。
状态机(State machines)
-
Stateless:直接使用 .NET 代码创建一个状态机和轻量的基于状态机的工作流。
-
Automatonymous:.Net 平台的状态机库,允许你编写流式API风格的状态机。
静态网站生成(Static Site Generators)
-
Pretzel:.NET 平台下的网站生成工具(包含后续的一些功能)。
-
Sandra.Snow:.NET 平台的静态网站生成工具,借鉴 Jekyll。
-
Wyam:简单易用、高度模块化、拥有强大配置能力的静态网站生成工具。
风格指南(Style Guide)
-
C# Style Guide:* 上的C#风格指南 Q & A。
-
C# Coding Conventions:MSDN 官方的 C# 代码约定。
模板引擎(Template Engine)
-
RazorEngine:基于微软 Razor 解析器引擎的开源模板引擎。
-
Nustache :无逻辑模板的开源库。
-
DotLiquid:Ruby Liquid 模板语言的 C# 移植版本。
测试(Testing)
-
AutoFixture:AutoFixture 是一个用于 .NET 的开源框架,用于简化单元测试中的设置(Arrange)阶段。
-
FakeItEasy:.NET 平台的一个简单的 mocking 库。http://fakeiteasy.github.io
-
Fluent Assertions:一组 .NET 扩展方法,可以让你更自然地指定 TDD 或 BDD 风格测试的期望值。
-
Fuchu:F# 的单元测试库,通过 tests-as-values 机制让你更容易创建领域特定语言(DSL)。
-
Machine.Specifications:Machine.Specifications (MSpec)是一个上下文、规范框架,忽略了语言本身的干扰,简化了测试。
-
Moq:.NET 平台下最流行和友好的 mocking 框架。
-
NBuilder:快速创建测试对象。
-
NSubstitute:一个友好的 .NET mocking 框架。
-
NUnit
-
Rhino Mocks:.NET 平台的动态 Mocking 框架
-
Shouldly:Shouldly 是一个断言(assertion)框架,主要功能是在断言失败时,给出简单明了并且友好的错误信息。
-
SpecFlow:将业务需求绑定到 .Net 代码。
-
xUnit:xUnit.net 是一个 .NET 平台下免费、开源、专注社区的单元测试框架。
交易(Trading)
-
Lean:Lean 引擎是一个开源的,完全由 C# 托管代码编写的交易算法引擎,用于桌面和云端。https://lean.quantconnect.com
-
StockSharp:交易和算法交易(algorithmic trading)的开源平台(用于股票市场、外汇市场、比特币和期权交易) 。http://stocksharp.com
Visual Studio 插件(Visual Studio Plugins)
-
Web Essentials:Web Essentials 为 Visual Stduio 扩展了大量的特性,提供了 web 开发人员盼望多年的功能。
-
VsVIM:Visual Studio 中的 VIM。
-
Nuget Package Manager:NuGet 是微软开发平台(包括 .NET)的包管理器。
-
SideWaffle:Visual Studio 2012、2013 中的一组项目模板集合,让 web 开发人员更加轻松。
-
Resharper:Visual Studio 开发人员生产力工具 [$]
-
Refactoring Essentials:开源 C# 和 VB.NET 重构扩展,包括代码最佳实践分析器。
-
CodeContracts:.NET CodeContracts 工具源代码。
-
Git Diff Margin:在 Visual Studio 滚动条区域实时显示当前文件在 Git 上的差异。
-
Productivity Power Tools:一组 Visual Studio 专业版(及更高版本)的扩展,用于提高开发人员的生产力。
Web 框架(Web Frameworks)
-
ASP.NET MVC:ASP.NET 是一个免费的 web 框架,用于创建优秀的 web 站点和应用程序。
-
FubuMVC:.NET 平台下前端控制器(front-controller)风格的 MVC 框架。http://fubuworld.com/fubumvc
-
NancyFx:在 .Net 和 Mono 平台上创建 HTTP 服务的一个轻量级、非正式的框架。
-
IISNode:在 IIS 中宿主 NodeJS 应用程序。
-
Suave.IO:一个框架/库/web 服务器,当你看到你使用优美的 F# 编写的代码提前完成了你的项目时,它的存在会让你喜极而泣。(一个用 F# 编写 Web 应用的框架和服务器端)
Web 服务器(Web Servers)
-
EmbedIO :基于 Mono 编写的跨平台的 Web 服务器。
-
XSP:Mono 中的 ASP.NET 宿主服务器。该模块包含了 Apache 模块、FastCGI 模块,可以用于挂载到其它 web 服务器或是作为一个测试用的独立服务器存在(类似微软的 Cassini 项目)。
WebSocket
-
SignalR:ASP.NET 库,开发者可以通过它在 web 应用程序中非常简单地实现实时功能。
-
Fleck:Fleck 是一个 C# 实现的 WebSocket 服务器。分支自 Nugget 项目。
-
Websocket-Sharp:WebSocket 协议的 C# 实现,包含客户端和服务器端。
-
XSockets:提供了一组工具,可以在微软 .NET 等平台上构建一个实时应用程序。
-
WebSocket4NET:.NET 2.0+、Xamarin、Mono、Silverlight、Windows Phone 以及 WinRT 下的 WebSocket 客户端。
Windows 服务(Windows Services)
-
TopShelf:一个简单的服务宿主框架,使用 .NET 构建 Windows 服务。
其他列表(Other Lists)
-
.NET-libraries-that-make-your-life-easier:开源的 .NET 库,让你的生活更加轻松、
-
awesome-LINQ:一组精心挑选的超棒的 LINQ 类库、工具等。