C#常用框架整理

Json.NET

http://json.codeplex.com/

Json.Net 是一个读写 Json 效率比较高的.Net 框架.Json.Net 使得在.Net 环境下使用 Json 更加简单。通过 Linq To JSON 可以快速的读写 Json,通过 JsonSerializer 可以序列化你的.Net 对象。让你轻松实现.Net 中所有类型(对象,基本数据类型 等)和 Json 的转换。

Math.NET

http://www.mathdotnet.com/

Math.NET 的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是 C#开发的开源类库。Math.NET 含了一个支持线性代数的解析器,分析复杂微分,解方程等等功能。

Faker.Net

https://github.com/jonwingfield/Faker.Net

开发的时候是不是为测试数据烦恼?Faker.Net 可以非常方便帮你生成大批量测试数据。例如人员表里面的姓名、性别什么的。

Html Agility Pack

http://htmlagilitypack.codeplex.com/

Html Agility Pack 是 CodePlex 上的一个开源项目。它提供了标准的 DOM API 和 XPath 导航–即使 HTML 不是适当的格式!HTML Agility Pack 搭配 ScrapySharp,彻底解除 Html 解析的痛苦。

NCrawler

http://ncrawler.codeplex.com/

NCrawler 是一款国外的开源网络爬虫软件,遵循 LGPL 许可协议。其 HTML 处理使用的是 htmlagilitypack 开源库,采用 xpath 的方式处理定位网页元素,十分方便。

SuperWebSocket

http://superwebsocket.codeplex.com/

SuperWebSocket 是基于.NET 开源 Socket 框架 SuperSocket 开发的, SuperSocket 所支持的大部分功能在 SuperWebSocket 中得到了继承。用户可通过 SuperWebSocket 来快速的构建可靠的,高性能的 websocket 服务器端应用程序。

SuperSocket

http://supersocket.codeplex.com/

SuperSocket 是 一个轻量级的可扩展的 Socket 开发框架,可用来构建一个服务器端 Socket 程序,而无需了解如何使用 Socket,如何维护 Socket 连接,Socket 是如何工作的。该项目使用纯 C# 开发,易于扩展和集成到已有的项目。只要你的已有系统是使用.NET 开发的,你都能够使用 SuperSocket 来轻易的开发出你需要的 Socket 应用程序来集成到你的现有系统之中。

Quartz.NET

http://www.quartz-scheduler.net/

Quartz.NET 是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET 移植,它用 C#写成,可用于 winform 和 asp.net 应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持 cron-like 表达式等等。

Lucene.Net

http://lucenenet.apache.org/

Lucene.net 是 Lucene 的.net 移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。开发人员可以基于 Lucene.net 实现全文检索的功能。

HttpLib

http://httplib.codeplex.com/

一个基于 C#语言的 http 协议的类库,Httplib 让异步交互处理数据更容易了。类库的方法包括:上传文件到服务器,获取页面数据等等。

Smart Thread Pool

http://www.codeproject.com/Articles/7933/Smart-Thread-Pool

智能线程池,用 SmartThreadPool 可以简单就实现支持多线程的程序,由线程池来管理线程,可以减少死锁的出现。SmartThreadPool 还支持简单的生产者-消费者模式,当不需要对任务进行持久化时,还是很好用的。

DocX

https://docx.codeplex.com/

DocX 是一个用来操作 word 的轻量级的类库。借助 DocX,开发人员可以在不需要安装 Microsoft Word 的情况下操纵 word2007/2010 文件。

NPOI

http://npoi.codeplex.com/

NPOI 是 POI 项目的 .NET 版本。POI 是一个开源的 Java 读写 Excel、WORD 等微软 OLE2 组件文档的项目。使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI 是构建在 POI 3.x 版本之上的,它可以在没有安装 Office 的情况下对 Word/Excel 文档进行读写操作。

PDFsharp

https://pdfsharp.codeplex.com/

PDFsharp 是可以轻松地在 .NET 语言中创建 PDF 文档的开放源码库。它使用相同的绘制程序来创建 PDF 文档,在屏幕上显示,以及输出到打印机。可以修改、合并、拆分已经存在的 PDF 文件,支持透明图像。

Dapper

https://github.com/SamSaffron/dapper-dot-net

Dapper 是一个轻型的 ORM 类。代码就一个 SqlMapper.cs 文件,编译后就 40K 的一个很小的 Dll.Dapper 很快。Dapper 的速度接近与 IDataReader,取列表的数据超 过了 DataTable。Dapper 支持 Mysql,SqlLite,Mssql2000,Mssql2005,Oracle 等一系列的数据库,当然如 果你知道原理也可以让它支持 Mongo db。话说,这个 ORM,博主自己也一直在使用,确实十分强悍,至少在性能方面,恐怕.NET 里面的大多数 ORM 只能是望其项背了。

NHibernate

https://github.com/nhibernate

NHibernate 是现在开发人员用的较多的一个 ORM。NHibernate 是一个面向.NET 环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于 SQL 的关系模型数据结构中去。

log4net

http://logging.apache.org/log4net/

log4net 库是 Apache log4j 框架在 Microsoft .NET 平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。

SharpSerializer

http://sharpserializer.codeplex.com/

SharpSerializer 是一个开源 XML 和二进制序列化器。SharpSerializer 可以序列化 Xml 和自己的二进制格式,还可以序列化 Json 等其他文本格式或其他数据加密,压缩,优化等二进制流。

XProxy

http://xproxy.codeplex.com/

XProxy 是一个支持插件的基础代理程序集。通过编写简单的插件程序,你将能开发各种各样的代理程序。
XProxy 是一个支持插件开发的数据交换机,可以编写插件对中转数据进行处理。内置有 NAT 插件、加解密插件、反向代理、直接代理、间接代理等插件。

nopCommerce

http://nopcommerce.codeplex.com/releases/view/106146

nopcommerce 是国外的一个高质量的开源 b2c 网站系统,基于 EntityFramework4.0 和 MVC3.0,使用 Razor 模板引擎,有很强的插件机制,包括支付配送功能都是通过插件来实现 的,基于 xml 的多语言版本,非常灵活的语言切换功能,包括在后台都能同时编辑产品的中英文属性,非常适合做外贸,优秀超前的程序架构,性能也非常强大, 自定义的产品名称和分类又有很好的 seo 优化。综合能力远远高于国内的一些程序架构糟糕的.net 商城程序,是二次开发和大型 b2c 架构的首选。3.0 开 始支持多店。

Enterprise Library

https://entlib.codeplex.com/

Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是 patterns & practices 小组为.NET Framework 3.5 开发一套企业库, 目前最新版本为 v5.0,支持.NET Framework 4.0,共包括 9 个 Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。

Autofac

http://autofac.org/

Autofac 是一款非常优秀的 IOC 框架,比较于其他的 IOC 框架,如 Spring.NET,等等之类的,它非常的轻量级且性能上也很卓越。

AutoMapper

https://github.com/AutoMapper/AutoMapper

AutoMapper 是一个.NET 的对象映射工具。主要用于领域对象与 DTO 之间的转换、数据库查询结果映射至实体对象。

7-Zip

http://www.7-zip.org/

http://sourceforge.net/projects/sevenzip/postdownload?source=dlp

7-Zip 是 一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的 7z 文件格式,而且还支持各种其它压缩文件格式,其中包括 ZIP, RAR, CAB, GZIP, BZIP2 和 TAR 等等。此软件压缩的压缩比要比普通 ZIP 文件高 30-50% ,因此,它可以把 Zip 格式的文件再压缩 2-10% 。

.Net PDF 类库

PDFsharp

PDFsharp 是一款可以让.NET 框架支持的任何语言很容易的创建 PDF 文件的类库。

ASP.NET FO PDF

FO PDF 是一款 C#编写类似于 ASP.NET 服务器控件的控件。它接受 DataTable 和一些其它参数来创建 XSL FO,并使用 NFOP (Apache FOP Port in J#) PDF Formatter 来绘制一个类似 PDF Report 的 DataGrid 。今后将会增加更多的标签来可以生成 XSL FO 。

Report.NET

Report.NET 开源类库包含了生成精确 PDF 文档的类。它是.NET 平台下的 C#编写的,可以帮助你创建简单的灵活的 PDF 文件。你可以从任何 ADO.NET 的 DataSet 取得数据来创建 PDF 文档。ASP.NET 可以用 Report.NET 来创建动态的 PDF 响应页面。

SharpPDF

SharpPDF 是可以用来简单的创建 PDF 文件的 C#类库。它创建的文件百分白兼容 PDF 格式。

iTextSharp

iTextSharp 是一款开源的 PDF 操作类库,使用它可以快速的创建 PDF 文件。http://hardrock.cnblogs.com/ 是一个关于 iTextSharp 的中文 Blog。

工作流

Workflow.Net

Workflow.Net 是使用微软.Net 技术基于 wmfc 标准的创建工作流引擎。

netBPM

NetBPM 是 JBpm 移植到.net 平台下的一款开源工作流软件。NetBpm 可以很容易和.Net 应用程序集成在一起,可以创建,执行和管理工作流程序。
Bpm Tool 支持将业务模型转换成软件模型。业务开发人员可以使用模型驱动的方法设计,实现,执行和跟踪业务流程。因此开发人员能够更容易的关注业务逻辑的变化。

持久层框架

NHibernate

NHibernate 是一个面向.NET 环境的针对关系型数据库的对象持久化类库。
NHibernate 来源于非常优秀的基于 Java 的 Hibernate 关系型持久化工具。NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,你不用自己写 SQL 去数据库存取对象。你 的代码仅仅和对象关联,NHibernat 自动产生 SQL 语句,并确保对象提交到正确的表和字段中去.大量减少开发时人工使用 SQL 和 ADO.NET 处理 数据的时间. NHibernate 可以帮助你消除或者包装那些针对特定数据库的 SQL 代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。因此对于那些在 基于.NET 的中间层的应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate 是最有用的。

FileHelpers Library

FileHelpers Library 是一款 C#编写的开源 .NET 类库。它使用简单,很容易就可以从固定长度文件或界定记录(CSV)读/写数据。它也支持从不同的数据存储格式(Excel, Access, SqlServer)导入/导出数据。

Websharp

Websharp 是国人开源的一款开源持久层框架,它的目标是设计一个基于.Net 的通用的应用软件系统的框架,以简化基于.Net 平台的企业应用软件的开发。目前,Websharp 关注于企业应用软件的以下几个方面:
1、 数据库访问
2、 O/R 映射
3、 AOP
4、 分布式访问

ObjectBroker

ObjectBroker 是.NET 平台下的一款开源 O/R 映射框架。它支持对象缓存,1:1, 1:n 和 m:n 的关联映射等特性。

Gentle.NET

Gentle.NET 是一款开源的与关系数据库(RDBMS)无关的对象持久层框架,可以自动生成 SQL 和对象结构。它拥有一个 SQL 工厂用来创建自定义查询、DataView 构建助手和卓越的性能和完善的文档。

Ubik

Ubik 是 C# 2.0 下的 ORM 持久层框架,当前是 WinForms 应用程序开发提供的.它支持 OPath 的子集而可以进行面向对象查询,且包含一个网络事件系统.

NDal

NDal 是一个数据提取层(DAL)框架,它可以运行在.NET 和 Mono 环境下。

Persist.NET

Persist.NET 是 C#编写的一款完整的持久层框架。

ObjectBroker

ObjectBroker 是.NET 平台下的数据库对象/关系映射(O/R Mapping)框架。

iBATIS.NET

iBATIS.NET 帮助你的应用系统创建更好的持久层框架。

Advanced Data Provider

Advanced Data Provider 是为 ADO.NET 提供的动态数据提供者 。可以让应用程序透明的访问不同的 ADO.NET 数据提供者。

OJB.NET

OJB.NET 是一款.NET 平台下的对象/关系映射(O/R Mapping)工具。

图表制作

ZedGraph

ZedGraph 是 C#编写的.NET 类库,提供了用户控件和 web 控件。它可以创建 2D 的线性图、条形图和饼图。它功能完整且有详细的功能自定义,不过使用默认的选项就足够好用了。

.NET Charts

一款类似 PieChart, StackBar, LineChart 的 C#开源图表组件。

NPlot

NPlot 是一款.NET 下的开源图表类库.它值得称道的地方是优雅且灵活的 API 设计.NPlot 包含了 Windows Form 控件, ASP.NET 控件和一个创建 Bitmap 图片的类。还有一个可用的 GTK#控件。

XSCharting

XSCharting 是 C#开发的图表组件,提供了多种多样的图表选项。

DaveChart

DaveChart 是一个免费的 DotNet 类库。

NChart

NChart 提供了很多值得应用在商业,教育等多个领域的 2 D 图表。

WebGis

SharpMap

SharpMap 是一款易于使用的地图渲染器,它可以为 Web 和 Windows 应用程序渲染 GIS 数据。SharpMap 是使用 C#编写,基于.NET 2.0 框架上开发的开源项目。

monoGIS

monoGIS 将成为 Mono 平台下的开源完整 GIS。已经发布了 internet mapserver,OGC WMS 实现和一些工具像空间格式转换。

NASA World Wind

NASA World Wind 是 C#开发的个人电脑上的开源的 3D 图形虚拟地球系统。它结合了美国国家航空航天局(NASA)从卫星拍摄的图像,这些图像应用于 Blue Marble, Landsat 7, SRTM, MODIS 以及其它更多的地方。

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...