.NET 程序员-你应该知道的一些开源项目——收藏

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/
https://github.com/tonyqus/npoi

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的一个很小的Dapper.Dll。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 开发一套企业库,目前最新版本为Enterprise Library 6 - April 2013,支持.NET Framework 4.5,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。

Autofac

http://autofac.org/

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

Ninject

https://github.com/ninject

Ninject是一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。它能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。

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% 。 SevenZipSharp 是一个基于7-Zip的开源项目,实现了自解压和压缩等所有7-ZIP支持的格式,并且改进了7-Zip动态链接库的C#接口的一些方法.

NSubstitute

https://github.com/nsubstitute/NSubstitute

NSubstitute 更注重替代(Substitute)概念。它的设计目标是提供一个优秀的测试替代的.NET模拟框架。它是一个模拟测试框架,用最简洁的语法,使得我们能够把更多的注意力放在测试工作,减轻我们的测试配置工作,以满足我们的测试需求,帮助完成测试工作。

.NET Transactional File Manager

http://transactionalfilemgr.codeplex.com/

对文件系统操作,比如copy, move, delete ,加入事务支持。

由博友 flyingfz 分享

ILSpy

http://ilspy.net/
https://github.com/icsharpcode/ILSpy

ILspy是一个开源的.net反编译软件,使用十分方便。之所以开发ILspy是因为Red Gate宣布免费版的.NET Reflector(同样是反编译软件)将会在2011年2月停止。所以爱好免费软件的开发者们转而开发自己的反编译软件。于是ILspy就因运而生了。

由博友 默の帕布 分享

HubbleDotNet

http://hubbledotnet.codeplex.com/

HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索引擎组件。开源协议是 Apache 2.0。HubbleDotNet提供了基于SQL的全文检索接口,使用者只需会操作SQL,就可以很快学会使用HubbleDotNet进行全文检索。HubbleDotNet可以实现全文索引和查询、多域检索和排序、分组统计、消重、分类、聚类、多表关联查询等等一系列全文检索和数据挖掘功能。 HubbleDotNet提供开放的数据库适配器接口,可以和各种数据库完美整合,为各种数据库系统附加全文检索和数据挖掘功能。 HubbleDotNet设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。HubbleDotNet还进行了缓存和 内存管理设计,可以帮助用户最大限度的提高查询的效率。

由博友 freexiaoyu 分享

SharpDevelop

http://www.icsharpcode.net/

SharpDevelop是个自由的开放源代码集成开发环境,主要用来开发支持.NET Framework的C#,Visual Basic .NET(VB.NET)与BOO等编程语言。它可以用来作为MicrosoftVisual Studio .NET的替代品,使用自己的C#、Visual Basic .NET解析器来进行代码自动完成

由博友 C++++ 小王子. 分享

fastJSON

http://www.codeproject.com/Articles/159450/fastJSON

fastJSON是一个轻量级且高性能的JSON序列化器,因为它编译后的大小只有25 kb。具体性能测试请参照上面的项目地址。

由博友 TimYang 分享

GMap.NET

http://www.cggh.org/
http://greatmaps.codeplex.com/

GMap.NET 是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mobile环境中。GMap.NET 是一个开源的GEO地图定位和跟踪程序。就像谷歌地图、雅虎地图一样,可以自动计算两地的距离,定位经纬度,与Google地图不同的是,该项目是建立在C#语言WinForm基础上的。可以对地图放大缩小,进行城市标记等。

由博友 阿凡卢 分享

ZXing.Net

http://zxingnet.codeplex.com/

ZXing.Net支持解码并生成条码库(如QR码,PDF 417, EAN, UPC, Aztec, 二维条码, 库德巴条码)。

由博友 朱京辉 分享

PetaPoco

http://nuget.org/List/Packages/PetaPoco
https://github.com/toptensoftware/petapoco
http://www.toptensoftware.com/petapoco/ 

PetaPoco是一款能够在.Net 和Mono环境下使用的微小、快速、单文件的微型ORM。支持简单的事务,支持参数替换等等。性能也十分出众!

由博友 {name:"代码屠夫"} 分享

wojilu 我记录

http://www.wojilu.com/framework/
https://github.com/wojilu/wojilu

“我记录”开发框架(wojilu framework) 是 .net 平台下的综合开发框架,主要用于 web 方面的快速开发。包含一个持久层框架 wojilu ORM,一个依赖注入框架 wojilu IOC,一个Web开发框架 wojilu MVC(包括验证码控件、带进度条上传等),一个轻量级模板引擎 wojilu template,一个日志类库 wojilu logger等等。

由博友 {name:"代码屠夫"} 分享

Nancy

http://nancyfx.org/

.NET的微型Web框架 Nancy 是一个基于 .NET 和 Mono 平台用于构建轻量级基于 HTTP 的 Web 服务。Nancy 设计用于处理 DELETEGETHEADOPTIONSPOSTPUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。

由博友 {name:"代码屠夫"} 分享

ADO.NET Entity Framework

http://entityframework.codeplex.com/
http://msdn.microsoft.com/zh-cn/data/ef.aspx

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace。实体框架 (EF) 是一种对象关系映射机制,支持 .NET 开发人员使用域特定对象来处理关系数据。它消除了对开发人员通常需要编写的大部分数据访问代码的需求。

由博友 C++++ 小王子. 分享

ASP.NET MVC

http://www.asp.net/

ASP.NET MVC 是微软官方提供的以MVC模式为基础的ASP.NETWeb应用程序(Web Application)框架,它由Castle的MonoRail而来 。

由博友 C++++ 小王子. 分享

PDF.NET

http://pwmis.codeplex.com/

PDF.NET数据开发框架,全功能的数据框架,包含 ORM,SQL-MAP,Data Control,其中的ORM查询语言--OQL是一大特色,可以用对象化的方式来写SQL查询 。本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.NET的LINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格,设计了OQL查询表达式。

由博友 深蓝医生 开发 并 分享

Kooboo CMS

http://www.kooboo.com/
https://github.com/kooboo

一款开源的企业级内容管理系统,基于ASP.NET MVC,可以用来很方便创建多语言站点等。

由博友 风情波涌 分享



原文:http://www.cnblogs.com/StrangeCity/p/OpenSourceProject.html

以上开源项目仅仅只是博主个人的孤陋寡闻,我想诸位高端大气上档次的博友肯定还有很多熟知并值得分享的开源项目,如果您愿意分享您所知道的开源项目,请在本文下方的评论中写出,博主将在第一时间更新到本篇博文中!

希望此篇博文增长了您的知识点或者给您带来了帮助和收获。另外,博主自知才疏学浅,技术很渣,如若有不妥之处,还请不吝赐教!

时间: 2024-10-07 20:01:22

.NET 程序员-你应该知道的一些开源项目——收藏的相关文章

C#程序员学习Android开发系列之Android项目的目录结构

今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目录:存放java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity).由于java要求比较严格,因此要求类名与文件名一致. gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改.里面主要有一个

作为一名Java程序员,我为何不在生产项目中转向Go?

前方 作为一名Java程序员,我为何不在生产项目中转向Go?自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript

程序员如何合理的预估自己的项目开发时间?

项目时间的估算对项目的成败至关重要.项目时间管理包括了项目按时完成所需的各个过程.但是,在实际项目中,经常出现项目延期,估算严重不准确的现象. 预估时间本身就很难.每个程序员的估计都会跟真正需要的时间有些差距.估计时间短了说明有些事情被忽略了(编译,测试,提交代码).估计时间超了说明任务太大,难以理解. 对于资历较浅的程序员,这种估计误差是混乱的,他们经常会轻视一些任务,同时又对一些稍微有难度的任务过分高估.我认为,对一个有经验的程序员,一个任务的时间应该在半小时到24小时之间,超出24小时的任

程序员面试时这样介绍自己的项目经验,成功率能达到98.99%

声明:面试是对自我审视的一种过程,面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价!(面试题均来自群成员提供) 面试题预览: 1.KVO实现原理? 2.说说你理解的埋点? 3.消息转发机制原理? 4.说说你理解weak属性? 5.假如Controller太臃肿,如何优化? 6.项目中网络层如何做安全处理? 7.main()之前的过程有哪些? 1.KVO实现原理? KVO在Apple中的API文档如下: Automatic key-value o

@程序员,这四个学习建议值得收藏

在我看来,学习能力应该是一个人最重要的能力之一.因为我们赖以生存的所有技能,无一例外都是通过学习获得的.那些优秀的人,也不过是学习能力或者学习效率比一般人强而已. 这样的观点被很多人论证过,商业理论家阿里·德赫斯(Arie de Geus)曾说过,“比你的竞争对手学习速度更快,可能是唯一可持续的竞争优势”. 如今,IT 技术更新日新月异,不论是新版本的更新还是新框架的产生,都以极快的速度在推进,令人眼花缭乱,应接不暇.因此,对程序员来说,持续学习.有选择地学习显得尤为重要. 01.多角度,对比学

程序员必备技能——怎样快速接手一个项目

作为一个程序员,我们很少能从头到尾参与一个新项目的开发.如果你经常开发的是新项目,那你真是太幸福了. 更多的情况是半路进入一个项目组进行开发,或者是有其他同事离职了,之前由他维护的系统转交给你维护. 还有一种情况就是领导不知道从哪里弄过来一个系统和一堆文档,然后就直接就把系统交给你了维护了. 遇到以上几种情况我们怎样才能快速熟悉上手项目,应对生产问题呢?下面是我自己在工作中的一点总结,希望能对大家有所帮助. 资料要要全 当你接手一个新项目(别人的项目)的时候,你要第一时间向把项目移交给你的人要到

【10.23更新】 程序员新手福利来了,Android项目源码集合,持续更新。。。

拼图游戏 使用服务:玩编程 功能分类:休闲游戏 支持平台:Android 运行环境: Android 开发语言:Java 开发工具:Eclipse 源码下载地址 :http://www.devstore.cn/code/info/259.html 拼图游戏运行界面: 仿糗事百科Android客户端源码 功能分类:社交            支持平台:Android 运行环境:Eclipse       开发语言:Java 开发工具:Eclipse        源码大小:4.62MB 源码下载地

连载《一个程序员的成长历程》-10.在项目中忍受病魔的折磨

2009年是俺的本命年,人家都说本命年十有八九都不是太好,我也未能幸免.从年初开始,感觉身体就特别虚弱,打篮球跑会儿就会感觉特别累,这种情况还在进一步恶化,比我想象的要严重的多. 这一年也是我参加工作的第三个年头,有了理论基础,有了扎实的技术,正是要施展拳脚的时候.我是有强烈意愿.目标和报复的人,也是脚踏实地干事的人,在这一年,不管在工作上,还是在身体上,都面临着严峻的挑战和考验. 3月初的时候,得到A城市有一个集团数据集成的项目,大概4月中旬就要去现场.以前也亲自参与过数据集成的项目,干的是一

内含star项目推荐:程序员小白人手必备,GitHub搜索教程

说起GitHub,相信在座的各位都不会感到陌生,作为全球最大的社交编程及代码托管网站,GitHub几乎对于每一个程序员来说都是一个必不可少的工具. GitHub被喻为全球最大的"同兴趣交友网站"以及代码仓库,不管你是想上传自己的代码,以此保存代码或炫技,还是想要跟全世界优秀的技术大牛学习编程经验,GitHub统统都能满足你. 技术界有一个说法,GitHub越来越成为衡量程序员能力的指标了,虽然并不是决定性的,但关注数.Fork数和star数在一定程度上也反映了一个程序员的编程实力.现在