.net开源框架简介和通用技术选型建议

.net体系
.net core
.net 类库
asp.net mvc
asp.net webapi
asp.net core
EF
跨平台和运行时解决方案(解决方案)
Katana:微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等 。
MONO.NET:跨平台的.NET运行环境 , 让.NET跨平台运行成为可能 。
Unity3D:微软大力支持的机遇C#和JAVAScript的跨平台游戏开发框架 。
Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境 。
IKVM.NET:基于.NET的JAVA虚拟机 , 让JAVA运行在.NET之上 。
Enterprise Library:微软针对企业级应用开发的最佳实践组件 。
架构思想框架
PetShop:微软ASP.NET宠物商店 。 分层思想的代表
ABP: ASP.NET Boilerplate Project (ASP.NET样板项目)。 领域驱动思想代表
eShopOnContainers:微服务架构和Docker容器的一个简单的.Net Core的应用 。微服务思想代表
依赖注入IOC容器框架(解耦)
Unity:微软patterns&practicest团队开发的IOC依赖注入框架 , 支持AOP横切关注点 。
Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成 。
Autofac:最流行的依赖注入和IOC框架 , 轻量且高性能 , 对项目代码几乎无任何侵入性 。
Ninject:基于.NET轻量级开源的依赖注入IOC框架
数据访问和ORM框架(数据访问层 , 持久化层)
EF(ADO.NET Entity Framework):微软基于ADO.NET开发的ORM框架 。
DApper:轻量级高性能基于EMIT生成的ORM框架 。
EmitMapper:性能较高的ORM框架 , 运行时通过EMIT动态生成IL代码 , 并非采用反射机制 。
FluentData:开源的基于Fluent API的链式查询ORM轻量级框架 。
SqlMapper.cs:用于小项目的通用的C#数据库访问类 。
SqlHelper.cs:用于小项目的通用的C#数据库访问类 。
EnterpriseLibray:微软企业库 , 特点是快速开发 , 融合了微软工程师多年的经验 。
Nhibernate:面向.NET环境的轻量级的ORM框架 。
数据间格式转换
Newtonsoft.Json:目前.NET开发中最流行的JSON序列化库 , 为新版的WebApi库提供基础 。
AutoMapper:流行的对象映射框架 , 可减少大量硬编码 , 很小巧灵活 , 性能表现也可接受 。
实体类和DataTable的转换 :反射 , 表达式树 , emit三种中 , 三选一 。
redis和数据连接驱动框架
ServiceStack.Redis:
StackExchange.Redis:
csredis:
MySQL Connector:完全托管的 MySQL ADO.NET 数据库提供程序、连接器
中间件与消息队列
RabbitMQ.NET:AMQP 客户端的 C# 实现
NServiceBus:.NET 平台下最流行的服务总线
全文搜索和爬虫框架
Lucene.net:流行高性能的全文索引库 , 可用于为各类信息提供强大的搜索功能 。
Elasticsearch.Net:操作ES
日志记录框架
Log4Net.dll:轻量级的免费开源.NET日志记录框架 。
NLog:是一个简单灵活的日志记录类库 , 性能比Log4Net高 , 使用和维护难度低 。
任务计划调度
Quartz.NET:开源的作业调度和自动任务框架 。
办公系列框架(文档操作)
NPIO.dll:该项目是 .NET 版本的 POI 项目 , 原始的 Java 版本位于http://poi.Apache.org/。
DocX:不需要安装word软件 , 通过C#操作word文件 。
Open XML SDK:Open XML SDK 是一个开源库 , 用于处理 Open XML 文档
ITextSharp:iText 是一个PDF库 , 用于创建、修改、检查和维护 (PDF)格式的文档
语法解析和模板引擎(Template Engine)
RazorEngine:基于微软 Razor 解析器引擎的开源模板引擎 。官网
Nustache:无逻辑模板的开源库 。官网
DotLiquid:Ruby Liquid 模板语言的 C# 移植版本
MarkdownSharp:C# 实现的开源 Markdown 处理器 , 在 Stack Overflow 中使用
JavaScript.NET和ClearScript(微软出品):基于.NET开发的JavaScript引擎
Excss:C# 的 CSS3 解析器开发库
htmlAgilityPack:一个灵活的 HTML 解析器 , 可以对 DOM 进行读写 , 支持 XPATH 和 XSLT
通讯框架(网络)
SignalR:ASP.NET 库 , 开发者可以通过它在 web 应用程序中非常简单地实现实时功能


推荐阅读