.NET平台常见技术框架整理汇总

使用.NET平台开发有段时间了,在网上资料的基础上做了进一步整理,汇集了.NET平台常见的技术框架。
参考资料:

基于.NET平台常用的框架整理
.NET开源框架列表

1.知识网络

在这里插入图片描述

2.分类清单

2.1.分布式缓存框架

名称 说明 地址
Windows Server AppFabric 微软自家分布式缓存服务框架, 扩展了 Windows Server 为 Web 应用程序和中间层服务提供增强的托管、管理和缓存功能 https://www.microsoft.com/en-us/download/details.aspx?id=27115
Memcahed 高性能的分布式内存对象缓存系统。它基于一个存储键/值对的hashmap,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 http://memcached.org/
Redis 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API https://redis.io/
NCache 基于NGINX的Web服务器构建起来的缓存系统,适用于需要快速部署、大并发量、大存储量的需求 http://www.alachisoft.com/ncache/

2.2.应用框架

名称 说明 地址
ASP.NET Boilerplate(ABP) 基于领域驱动的开源Web开发框架 https://www.aspnetboilerplate.com
ABP.IO ABP框架的完全重构版 https://www.abp.io/
Orchard 国外一个MVC开源的博客系统。
DasBlog 国外一个基于ASP.NET的博客系统
BlogEngine.NET 国外一款免费开源的博客系统。
Dotnetnuke.NET 一套非常优秀的基于ASP.NET的开源门户网站程序。
Discuz.NET 国内开源的论坛社区系统。
nopCommerce和Aspxcommerce 国外一套高质量的开源B2C网站系统。
DTCMS 国内两款开源的网站管理系统

2.3.日志记录异常处理

名称 说明 地址
Log4Net 轻量级的免费开源.NET日志记录框架。
Enterprise Library Log Application Black 微软企业库日志记录。
Elmah 实现最流行的ASP.NET应用异常日志记录框架。
NLog 简单灵活的日志记录类库,性能比Log4Net高,使用和维护难度低。
Essential Diagnostics 为内置System.Diagnostics 命名空间扩展功能,提供更灵活的日志功能。官网
Logary mono 和 .Net 平台下高性能、多目标的日志、度量、追踪和健康检查库。支持多目标,为微服务构建。
StackExchange.Exceptional Stack Exchange 网络使用的错误处理程序。
Semantic Logging Application Block (SLAB) 为内置 System.Diagnostics.Tracing 命名空间(EventSource类)扩展功能,支持将日志记录到多个容器中,包括 Azure 表存储、数据库、文件(JSON、XML、文本文件)。通过 ETW 支持进程内和进程外的日志记录,支持 Rx 进行实时的事件过滤和聚合。
Exceptionless 费开源分布式系统的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应用程序中,并且提供了Rest接口可以应用在 Javascript,Node.js 中。

2.4.NoSQL数据库

名称 说明 地址
Mongodb 分布式文件存储数据库。
Membase 家族的一个新的重量级的成员

2.5.自动任务调度框架

名称 说明 地址
Quartz.NET 开源的作业调度和自动任务框架。
Topshelf 另一种创建Windows服务的开源框架

2.6.依赖注入IOC容器框架

名称 说明 地址
Unity 微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。
MEF(Managed Extensibility Framework) 是一个用来扩展.NET应用程序的框架,可开发插件系统。
Spring.NET 依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。
Autofac 最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。
PostSharp 实现静态AOP横切关注点,使用简单,功能强大,对目标拦截的方法无需任何改动。
Ninject 基于.NET轻量级开源的依赖注入IOC框架

2.7.ORM框架

名称 说明 地址
EF(ADO.NET Entity Framework) 微软基于ADO.NET开发的ORM框架。
Nhibernate 面向.NET环境的轻量级的ORM框架。
SqlMapper.cs 用于小项目的通用的C#数据库访问类。
AutoMapper 流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。
SubSonic 优秀的开源的ORM映射框架,同时提供符合自身需要的代码生成器。
FluentData 开源的基于Fluent API的链式查询ORM轻量级框架。
Dapper 轻量级高性能基于EMIT生成的ORM框架。
EmitMapper 性能较高的ORM框架,运行时通过EMIT动态生成IL代码,并非采用反射机制。
FreeSql 国内大牛的开源ORM框架,能支持多款国产数据库

2.8.格式和数据类型转换

名称 说明 地址
Newtonsoft.Json 目前.NET开发中最流行的JSON序列化库,为新版的WebApi库提供基础。
System.JSON.dll 微软自己开发的JSON序列化组件(需要单独下载)
DataContractJsonSerializer 和 DataContractXmlSerializer 微软在WCF中使用的序列化器。
JavaScriptSerializer 微软默认针对WEB开发者提供的JSON格式化器。
iTextSharp、PDFsharp 和 PDF.NET 通过.NET处理和生成PDF文档的组件。
SharpZipLib.dll 免费开源的ZIP和GZIP文件解压缩组件。
Math.NET 强大的数学运算、微积分、解方程和科学运算。
DocX 不需要安装word软件,通过C#操作word文件。
SharpSerializer 开源XML和、二进制、JSON、压缩和优化框架。

2.9.反射和动态语言

名称 说明 地址
Clay dynamic 开源的动态语言dynamic框架让您形如javascript的方式创建对象。
ExposedObject 在类的外部通过动态语言dynamic的方式访问私有成员。
PrivateObject 微软单元测试框架中便捷在外部调用类内部私有成员的一个类。

2.10.跨平台和运行时解决方案

名称 说明 地址
MONO.NET 跨平台的.NET运行环境,让.NET跨平台运行成为可能。
DotGnu Portable.NET 类似于MONO.NET的跨平台运行时。
Phalanger 将PHP编译成.NET,可实现PHP与.NET互操作。
VMDotNet 中国移动飞信所使用过的.NET运行时。
Unity3D 微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。
Cassini、IIS Express和Cassinidev 开源的ASP.NET执行环境。
Katana 微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等。
IKVM.NET 基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。

2.11.WEB开发和设计

名称 说明 地址
Jumony Core 基于.NET开发的HTML引擎。
Microsoft.mshtml.dll、Winista.HtmlParser.dll 和 HtmlAgilityPack.dll 解析处理HTML文档的框架。
JavaScript.NET和ClearScript(微软出品) 基于.NET开发的JavaScript引擎。
NCrawler 其HTML处理引擎htmlagilitypack的的开源网络爬虫软件。
AntiXSS 微软官方预防跨站XSS脚本入侵攻击的开源类库,它通过白名单机制进行内容编码。
YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure Compiler JavaScrip和CSS压缩器。
NancyFx 是一个不错的轻量级开源.NET WEB框架。如果想快速做个简单的WEB应用。
AspNetPager 国内知名的ASP.NET分页控件,支持多种分页方式。
NOPI 导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式)
Enterprise Library 微软针对企业级应用开发的最佳实践组件。
PowerCollections 国外一个牛人写的高级开源集合。
Magicodes.IE 国内厂家开源的Excel处理方案,符合国人习惯,使用方便

2.12.移动互联网和云计算

名称 说明 地址
PushSharp 通过.NET向各种移动平台推送消息。
mono for android 用.NET语言开发安卓应用
MonoTouch 用.NET语言开发IOS应用。
PhoneGap和AppCan 跨平台基于HTML5的移动开发平台。
Cordova PhoneGap贡献给Apache后的开源项目,是驱动PhoneGap的核心引擎。

2.13.网络通信和网络协议

名称 说明 地址
SuperSocket 基于.NET轻量级的可扩展的Socket开发框架。
SuperWebSocket 通过.NET实现TML5 WebSocket框架。
XProxy 支持插件的基础代理程序集,内置NAT、加解密、反向、直接和间接代理。

2.14.图形和图像处理框架

名称 说明 地址
Paint.NET 基于.NET小巧灵活强大的图形处理开源项目。
Imagemagick.NET 用C#对开源图像处理组件Imagemagick的封装。
Skimpt 基于.NET开源的屏幕截图软件。
ImageGlue.NET 商业的图像处理组件,支持的格式列了一大堆。
Sprite and Image Optimization Framework 微软CSS精灵,多图合成一张大图和CSS样式。

2.15.桌面应用程序框架

名称 说明 地址
DevExpress 一个全球知名的桌面应用程序UI控件库。
Prism 微软开发的针对WPF和Silverlight的MVVM框架,通过功能模块化的思想,来讲复杂的业务功能和UI耦合性进行分离。
WPFToolkit 和 Fluent Ribbon Control Suite 开发类似于Office风格的Ribbon菜单。
MVVMLight 轻量级MVVM框架,适用于WPF和Silverlight
Caliburn.MIcro 针对XML标签语言的MVVM框架,支持智能匹配

2.16.测试和性能评估

名称 说明 地址
Faker.Net 方便生成大批量测试数据的框架。
Nunit 一个轻量级的单元测试框架。
Moq 非常流行的Mock框架,支持LINQ,灵活且高性能。
xUnit 比NUnit更好的单元测试框架,升级改进版的Nunit框架。
MiniProfiler和Glimpse 基于MVC的两款性能事件监控框架。

2.17.事务和分布式事务支持

名称 说明 地址
KtmIntegration 一个支持NTFS文件系统的事务开源类。
NET Transactional File Manager 对文件系统操作(复制、移动和删除)加入事务支持。
DotnetCore.CAP 实现分布式架构下的数据一致性

2.18.分词、全文检索和搜索引擎

名称 说明 地址
Lucene.net 流行高性能的全文索引库,可用于为各类信息提供强大的搜索功能。
Lucene.Net.Analysis.PanGu 支持Lucene.Net最新版的盘古中文分词扩展库。

2.19.数据验证组件整理

名称 说明 地址
FluentValidation for .NET 基于LINQ表达式方法链Fluent接口验证组件。
Microsoft.Practices.EnterpriseLibrary.Validation 微软企业库验证程序块。
CuttingEdge.Conditions 基于Fluent接口方法练接口的契约编程组件。
DotNetOpenAuth 让网站具备支持OpenID、OAuth、InfoCard等身份验证的能力。

2.20.图表统计控件

名称 说明 地址
Visifire 一套效果非常好的WPF图表控件,支持3D绘制、曲线、折线、扇形、环形和梯形。
SparrowToolkit 一套WPF图表控件集,支持绘制动态曲线,可绘制示波器、CPU使用率和波形。
DynamicDataDisplay 微软开源的WPF动态曲线图,线图、气泡图和热力图。
LiveCharts WPF图表控件库

2.21.消息队列

名称 说明 地址
Kafka 一种分布式的,基于发布/订阅的消息系统。高吞吐率。支持Kafka Server间的消息分区,及分布式消费。同时支持离线数据处理和实时数据处理。支持在线水平扩展。
RabbitMQ 使用Erlang编写的开源消息队列,支持AMQP,XMPP, SMTP, STOMP等协议。重量级,更适合于企业级的开发。实现了Broker构架,在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。
Redis 基于Key-Value对的NoSQL数据库,支持MQ功能,可以当做一个轻量级的队列服务来使用
ZeroMQ 号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZeroMQ能够实现RabbitMQ不擅长的高级/复杂的队列。ZeroMQ具有一个独特的非中间件的模式,你不需要安装和运行一个消息服务器或中间件,因为你的应用程序将扮演这个服务器角色。仅提供非持久性的队列,如果宕机,数据将会丢失。
ActiveMQ Apache下的一个子项目。 类似于ZeroMQ,它能够以代理人和点对点的技术实现队列。同时类似于RabbitMQ,它少量代码就可以高效地实现高级应用场景。
Kafka/Jafka Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,而Jafka是Kafka的一个升级版。快速持久化;高吞吐;完全的分布式系统,自动实现负载均衡;支持Hadoop数据并行加载。

2.22.人工智能

名称 说明 地址
AIMLBot 基于人工智能标记语言的聊天机器人,小型、快速、兼容标准、易于定制 http://aimlbot.sourceforge.net/
SIML Systhetic Intelligence Markup Language,智能综合标记语言,聊天机器人及数字语音助手 https://simlbot.com/

2.23.认证及授权

名称 说明 地址
ASP.NET Identity 用于 ASP.NET 应用程序的新身份系统
DotNetOpenAuth OpenID、OAuth 和 InfoCard 协议的一个 C# 实现
IdentityModel .NET 4.5 和 MVC4、Web API 身份和访问控制的辅助库
IdentityServer 可扩展的 OAuth2 和 OpenID 连接提供程序框架。
OAuth 超轻量级 OAuth 1.0a 签名生成库,C# 编写。

2.24.机器学习和数据科学

名称 说明 地址
Accord.NET 机器学习框架,包含了音频和图像处理的库(计算机视觉、计算机听觉、信号处理和统计)。
Accord.NET Extensions 高级图像处理和计算机视觉算法扩展
AForge.NET 为计算机视觉和人工智能领域的开发者和研究人员提供的框架(包括图像处理、神经网络、遗传算法、机器学习、机器人科学)。
Deedle 处理探索性数据的数据帧和时序库,支持 C# 和 F#。
FsLab 数据科学和机器学习库的集合,支持 F# 和 .NET。
numl 包含最流行的监督学习和无监督学习算法,尽量减少创建预测模型时的冲突。

以上为.NET平台常用框架,能力有限,如有遗漏或不足支持,还望海涵!

你可能感兴趣的:(.NET,.NET,.NET平台技术框架)