c# 开源库集合
01,Json.NET
Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型 等)和Json的转换。
02,Math.NET
Math.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开源类库。Math.NET含了一个支持线性代数的解析器,分析复杂微分,解方程等等功能。
03,Faker.Net
https://github.com/jonwingfield/Faker.Net
开发的时候是不是为测试数据烦恼?Faker.Net可以非常方便帮你生成大批量测试数据。例如人员表里面的姓名、性别什么的。
04,Html Agility Pack
http://htmlagilitypack.codeplex.com/
Html Agility Pack 是CodePlex 上的一个开源项目。它提供了标准的DOM API 和XPath 导航--即使 HTML 不是适当的格式!HTML Agility Pack 搭配 ScrapySharp,彻底解除Html解析的痛苦。
05,NCrawler
NCrawler是一款国外的开源网络爬虫软件,遵循LGPL许可协议。其HTML处理使用的是htmlagilitypack开源库,采用xpath的方式处理定位网页元素,十分方便。
06,SuperWebSocket
http://superwebsocket.codeplex.com/
SuperWebSocket是基于.NET开源Socket框架SuperSocket开发的, SuperSocket所支持的大部分功能在SuperWebSocket中得到了继承。用户可通过SuperWebSocket来快速的构建可靠的,高性能的websocket服务器端应用程序。
07,SuperSocket
http://supersocket.codeplex.com/
SuperSocket 是 一个轻量级的可扩展的 Socket 开发框架,可用来构建一个服务器端 Socket 程序,而无需了解如何使用 Socket,如何维护Socket连接,Socket是如何工作的。该项目使用纯 C# 开发,易于扩展和集成到已有的项目。只要你的已有系统是使用.NET开发的,你都能够使用 SuperSocket来轻易的开发出你需要的Socket应用程序来集成到你的现有系统之中。
08,Quartz.NET
http://www.quartz-scheduler.net/
Quartz.NET 是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
09,Lucene.Net
Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。开发人员可以基于Lucene.net实现全文检索的功能。
10,HttpLib
一个基于C#语言的http协议的类库,Httplib让异步交互处理数据更容易了。类库的方法包括:上传文件到服务器,获取页面数据等等。
11,Smart Thread Pool
http://www.codeproject.com/Articles/7933/Smart-Thread-Pool
智能线程池,用SmartThreadPool可以简单就实现支持多线程的程序,由线程池来管理线程,可以减少死锁的出现。SmartThreadPool还支持简单的生产者-消费者模式,当不需要对任务进行持久化时,还是很好用的。
12,DocX
DocX是一个用来操作word的轻量级的类库。借助DocX,开发人员可以在不需要安装Microsoft Word的情况下操纵word2007/2010文件。
13,NPOI
NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。
14,PDFsharp
https://pdfsharp.codeplex.com/
PDFsharp 是可以轻松地在 .NET 语言中创建PDF文档的开放源码库。它使用相同的绘制程序来创建 PDF 文档,在屏幕上显示,以及输出到打印机。可以修改、合并、拆分已经存在的 PDF 文件,支持透明图像。
15,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只能是望其项背了。
16,NHibernate
NHibernate是现在开发人员用的较多的一个ORM。NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
17,log4net
http://logging.apache.org/log4net/
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。
18,SharpSerializer
http://sharpserializer.codeplex.com/
SharpSerializer是一个开源XML和二进制序列化器。SharpSerializer可以序列化Xml和自己的二进制格式,还可以序列化Json等其他文本格式或其他数据加密,压缩,优化等二进制流。
19,XProxy
XProxy是一个支持插件的基础代理程序集。通过编写简单的插件程序,你将能开发各种各样的代理程序。XProxy是一个支持插件开发的数据交换机,可以编写插件对中转数据进行处理。内置有NAT插件、加解密插件、反向代理、直接代理、间接代理等插件。
20,nopCommerce
http://nopcommerce.codeplex.com/releases/view/106146
nopcommerce 是国外的一个高质量的开源b2c 网站系统,基于EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很强的插件机制,包括支付配送功能都是通过插件来实现 的,基于xml的多语言版本,非常灵活的语言切换功能,包括在后台都能同时编辑产品的中英文属性,非常适合做外贸,优秀超前的程序架构,性能也非常强大, 自定义的产品名称和分类又有很好的seo优化。综合能力远远高于国内的一些程序架构糟糕的.net商城程序,是二次开发和大型b2c架构的首选。3.0开 始支持多店。
21,Enterprise Library
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)等等,对企业应用开发非常有帮助,也非常实用。
22,Autofac
Autofac是一款非常优秀的IOC框架,比较于其他的IOC框架,如Spring.NET,等等之类的,它非常的轻量级且性能上也很卓越。
23,AutoMapper
https://github.com/AutoMapper/AutoMapper
AutoMapper是一个.NET的对象映射工具。主要用于领域对象与DTO之间的转换、数据库查询结果映射至实体对象。
24,7-Zip
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 类库==========
25,PDFsharp
PDFsharp是一款可以让.NET框架支持的任何语言很容易的创建PDF文件的类库。
26,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 。
27,Report.NET
Report.NET 开源类库包含了生成精确PDF文档的类。它是.NET平台下的C#编写的,可以帮助你创建简单的灵活的PDF文件。你可以从任何ADO.NET的 DataSet取得数据来创建PDF文档。ASP.NET可以用Report.NET来创建动态的PDF响应页面。
28,SharpPDF
SharpPDF是可以用来简单的创建PDF文件的C#类库。它创建的文件百分白兼容PDF格式。
29,iTextSharp
iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件。http://hardrock.cnblogs.com/ 是一个关于 iTextSharp的中文Blog。
================工作流 ================
30,Workflow.Net
Workflow.Net是使用微软.Net技术基于wmfc标准的创建工作流引擎。
31,netBPM
NetBPM是JBpm移植到.net平台下的一款开源工作流软件。NetBpm可以很容易和.Net应用程序集成在一起,可以创建,执行和管理工作流程序。 Bpm Tool支持将业务模型转换成软件模型。业务开发人员可以使用模型驱动的方法设计,实现,执行和跟踪业务流程。因此开发人员能够更容易的关注业务逻辑的变化。
================持久层框架================
32,NHibernate
NHibernate是一个面向.NET环境的针对关系型数据库的对象持久化类库。 NHibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具。 NHibernate从数据库底层来持久化你的.Net对象到关系型数据库。NHibernate为你处理这些,你不用自己写SQL去数据库存取对象。你 的代码仅仅和对象关联,NHibernat自动产生SQL语句,并确保对象提交到正确的表和字段中去.大量减少开发时人工使用SQL和ADO.NET处理 数据的时间. NHibernate可以帮助你消除或者包装那些针对特定数据库的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。因此对于那些在 基于.NET的中间层的应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate是最有用的。
33,FileHelpers Library
FileHelpers Library是一款C#编写的开源 .NET 类库。它使用简单,很容易就可以从固定长度文件或界定记录(CSV)读/写数据。它也支持从不同的数据存储格式(Excel, Access, SqlServer)导入/导出数据。
34,Websharp
Websharp是国人开源的一款开源持久层框架,它的目标是设计一个基于.Net的通用的应用软件系统的框架,以简化基于.Net平台的企业应用软件的开发。目前,Websharp关注于企业应用软件的以下几个方面:1、 数据库访问2、 O/R 映射3、 AOP4、 分布式访问
35,ObjectBroker
ObjectBroker是.NET平台下的一款开源O/R映射框架。它支持对象缓存,1:1, 1:n 和 m:n的关联映射等特性。
36,Gentle.NET
Gentle.NET是一款开源的与关系数据库(RDBMS)无关的对象持久层框架,可以自动生成SQL和对象结构。它拥有一个SQL工厂用来创建自定义查询、DataView构建助手和卓越的性能和完善的文档。
37,Ubik
Ubik是C# 2.0下的ORM持久层框架,当前是WinForms应用程序开发提供的.它支持OPath的子集而可以进行面向对象查询,且包含一个网络事件系统.
38,NDal
NDal是一个数据提取层(DAL)框架,它可以运行在.NET和Mono环境下。
39,Persist.NET
Persist.NET是C#编写的一款完整的持久层框架。
40,ObjectBroker
ObjectBroker是.NET平台下的数据库对象/关系映射(O/R Mapping)框架。
41,iBATIS.NET
iBATIS.NET帮助你的应用系统创建更好的持久层框架。
42,Advanced Data Provider
Advanced Data Provider是为ADO.NET提供的动态数据提供者 。可以让应用程序透明的访问不同的ADO.NET 数据提供者。
43,OJB.NET
OJB.NET是一款.NET平台下的对象/关系映射(O/R Mapping)工具。
================图表制作================
44,ZedGraph
ZedGraph是C#编写的.NET类库,提供了用户控件和web控件。它可以创建2D的线性图、条形图和饼图。它功能完整且有详细的功能自定义,不过使用默认的选项就足够好用了。
45,.NET Charts
一款类似 PieChart, StackBar, LineChart的C#开源图表组件。
46,NPlot
NPlot是一款.NET下的开源图表类库.它值得称道的地方是优雅且灵活的API设计.NPlot包含了Windows Form控件, ASP.NET控件和一个创建Bitmap图片的类。还有一个可用的GTK#控件。
47,XSCharting
XSCharting是C#开发的图表组件,提供了多种多样的图表选项。
48,DaveChart
DaveChart是一个免费的DotNet类库。
49,NChart
NChart 提供了很多值得应用在商业,教育等多个领域的2 D图表。
================WebGis================
50,SharpMap
SharpMap是一款易于使用的地图渲染器,它可以为Web和Windows应用程序渲染GIS数据。SharpMap是使用C#编写,基于.NET 2.0框架上开发的开源项目。
51,monoGIS
monoGIS将成为Mono平台下的开源完整GIS。已经发布了internet mapserver,OGC WMS实现和一些工具像空间格式转换。
52,NASA World Wind
NASA World Wind 是C#开发的个人电脑上的开源的3D图形虚拟地球系统。它结合了美国国家航空航天局(NASA)从卫星拍摄的图像,这些图像应用于Blue Marble, Landsat 7, SRTM, MODIS 以及其它更多的地方。
================ASP.NET================
53,SignalR
ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets,当不支持时SignalR将使用其它技术来保证达到相同效果。SignalR 将与客户端进行实时通信带给了ASP .NET 。当然这样既好用,而且也有足够的扩展性。以前用户需要刷新页面或使用Ajax轮询才能实现的实时显示数据,现在只要使用SignalR,就可以简单实现了。
github地址: https://github.com/SignalR/SignalR
54,SparkleShare
SparkleShare是一个共享开源代码的工具,它设计的目标就是让共享代码变得更加简单而不是你先前习惯的样子。它允许你实时的同步Git库,对于Linux、Mac和Windows都是是可用的。
github地址: https://github.com/hbons/SparkleShare
55,mono
第三方的跨平台的.NET运行环境,在微软的.net框架还只支持WIN平台的时候,mono就已经开始支持Unix, Windows, MacOS甚至IOS,安卓等操作系统了。
Mono由Novell公司(由Ximian发起,并由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了 ADO NET和ASP NET。能够使得开发人员在Linux用C#开发程序。)主持的项目.该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform).与微软的.Net不同, Mono项目不仅可以运行于Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris。
github地址: https://github.com/mono/mono
56,ServiceStack
ServiceStack 是能同时运行于 .Net 和 Mono 上的开源web框架,它是开发 Web 服务与 Web 应用的有力替代品:
包含高性能 Razor Engine 的 Web 应用框架
支持例如 HTML,XML,JSON,SOAP 等多种格式的基于消息的 Web 服务框架
包含内建 IOC 的容器
若干内建库文件,诸如:Text serializer,Redis Client,ORM 以及 caching providers
除了 ASP.NET Hosting 和 Mono Hosting 之外,还包含 self-hosting 选项
github地址: https://github.com/ServiceStack/ServiceStack
57,Nancy
Nancy是一个轻量,高效的基于http 服务的框架,它能用来快迅而优雅的处理DELETE,GET,POST,OPTIONS,POST,PUT与PATCH请求。让开发者更加专注于其它业务及更重要的内容。 同样。Nancy能同时运行于.NET与MONO平台。
github地址: https://github.com/NancyFx/Nancy
58,AutoMapper
AutoMapper是一个简单的类库,用于解决对象与代码之间的映射关系。主要用途为领域对象与DTO之间的转换、数据库查询结果映射至实体对象。用官方的话讲:
AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?
github地址: https://github.com/AutoMapper/AutoMapper
59,Psychson
pushsharp是一个可以给实现给包括iOS、Android和Windows Phone及Blackberry多种操作系统的App应用推送消息通知的开源C#库。它同时兼容Mono框架。
github地址: https://github.com/adamcaudill/Psychson
60,RestSharp
RestSharp是一个开源的.NET平台下REST和Http API的客户端库,支持的平台有.NET 3.5/4、Mono、Mono for Android、MonoTouch、Windows Phone 7.1 Mango。他可以简化我们访问Restful服务
github地址: https://github.com/restsharp/RestSharp
61,apper-dot-net
dapper-dot-net是一个超轻量型的ORM开源框架,对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。dapper超级轻小,简便,运行速度很快。赢得了很多开发者的喜欢(推荐大家看看)。
github地址: https://github.com/StackExchange/dapper-dot-ne
62,Opserver
Opserver是闻名遐迩的网站Stack Overflow的开源监控解决方案,由Stack Exchange发布。它基于.NET框架构建,这在监控工具领域有些与众不同。 旨在为每个受监控系统的健康状况提供一个快速的总体视图,还允许用户使用下钻方法进行深入挖掘。