综合类

  1. 微软企业库 微软官方出品,是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题, 如安全(Security)、日志(Logging)、数据访问(Data Access)、配置管理(Configuration Manage)等,并将这些广泛使用的应用程序块集成封装至一个叫企业库的程序包中
  2. CommonLibrary.net 一个帮助类库,包含了ActiveRecord, Csv, Command Line Parsing, Configuration, Validation, Logging, Collections, Authentication等等
  3. Castle 一个传统的综合类库,包含IOC容器,基于ActiveRecord模式的ORM,类MVC框架,核心,现在用的比较多的是核心Castle.Core,里面包含了基于虚拟工厂的日志抽象,动态代理DynamicProxy,Dictionary Adapter(可以将一个接口转化为强类型的Dictionary对象,具体大家可以查一查,某些场景下很有用)

IOC容器

  1. Autofac 我最喜欢的一个IOC容器,特性丰富,除了IOC的基本功能外,还提供模块化和程序集扫描,内置了很多有用的扩展(Lazy,Func,Owned,IEnumrable)等等,而且对asp.net,mvc,mef,wcf,dynamicProxy等等提供了集成.
  2. Unity 微软企业库的基础,功能简单,扩展方便,微软官方提供一个EventBus的扩展例子,值得一看
  3. Ninject 主打特性简单易用,很多讲MVC的书中都用这个做例子
  4. StructureMap 一个传统的IOC容器,很早就出来了,性能优越,功能稳定,已经不更新了(在一个IOC容器的性能测试中性能最佳)

ORM框架

  1. NHibernate 一个传统的ORM,移植于java的Hibernate,3.0后发展迅速,提供FluentMap和FluentConfig,支持Linq,支持HQL和NativeSQL,支持一级缓存和二级缓存,丰富的ID生成策略,更多的拦截事件暴露,支持常见的所有数据库,缺点就是配置选项有点多,初学者无处下手
  2. EntityFramework 微软官方出的ORM,配置简单,比NH更好的Linq支持,工具支持和较低的学习门槛,命名约定配置,支持CodeFirst DbMigration(在开发时,不能用在生产环境中),缺点就是不支持批量操作(第三方库EntityFramework.Extension扩展了这一点,还做了缓存),无原生的二级缓存,,单调的ID生成方式,不支持多数据库(很多数据库如MySql都对EF提供了支持,但是bug多多,有稳定的商业库可以选择),还有单一的配置方式(当你想从程序集动态加载model到DbContext中时,你就会知道就多捉鸡)
  3. Dapper StackOverflow开源的一个MiniOrm,性能和原生ado.net相近,0配置,强类型支持.缺点同样是有小bug,较弱的LINQ支持(只找到一个MSSQL的linq插件)有两个关于Dapper的扩展,一个叫Dapper.Extension,一个叫Dapper.Rainbow.Mysql.这两个扩展可能更接近传统意义上的ORM
  4. ServiceStack.OrmLite 另外一个MiniORM,性能仅次于Dapper,支持大部分的数据库,比Dapper丰富的多的API和更好的强类型lambda表达式查询条件支持,映射0配置,也支持以Attribute配置,支持表的创建和删除,好东西.我最喜欢~~

文档操作

  1. EppPlus 使用xlsx协议读写Excel2007/2010,功能非常多
  2. DocX 读写Word2007/2010文件,无需安装office
  3. PdfSharp 操作pdf

基础类库

  1. AutoMapper 对象映射,常用来做DTO/ViewModel和Model之间的映射,功能丰富远超你想象
  2. Html Agility PackHtml解析库
  3. Json.net Json序列化和反序列化,基本支持所有的json特性,性能也很好,MVC4的默认引用程序集中已包含.(支持4.0的动态对象,这个很好用)
  4. FluentValidation 类似于4.0新出的代码契约,用于对业务对象创建验证规则.其本身已经内置了很多的规则
  5. DotNetZip创建,压缩,解压Zip文件
  6. SharpZipLib 创建,压缩,解压Zip文件
  7. SevenZipSharp 支持7zip所有格式的压缩和解压缩
  8. Rx 使用可观测对象(IObservable)的序列和 LINQ 风格的查询操作来编写异步和基于事件的程序。开发人员可通过 Rx 使用可观测对象来表示异步数据流,并使用 LINQ 操作来查询异步数据流。简而言之:Rx = Observables + LINQ + Schedulers.
  9. Microsoft.Bcl.Async 可以在4.0中使用4.5中新增的async和await两个关键字

辅助开发

  1. Autoupdate 为你的程序一键增加更新功能
  2. NetSparkle一个独立的升级框架,不依赖于你的程序和代码
  3. MailSystem.NET 功能强大的电子邮件组件,提供对SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, vCard, vCalendar, Anti-Spam (Bayesian , RBL, DomainKeys), Queueing, Mail Merge and WhoIs的支持
  4. FluentMigrator 一个类似于RubyMigrations的数据库Migration框架
  5. GMap.Net 一个强大的.NET地图控件,可以用于Winform和WPF,跨平台,支持 Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz, Maps.lt, iKarte.lv, NearMap, OviMap, CloudMade, WikiMapia, MapQuest ,同学们可以根据需求扩展国内的版本.

企业总线

  1. Shuttle ESB 一个开源的企业总线,C#编写,不依赖第三方程序集,支持MSMQ和table-based queue
  2. NServiceBus 最流行的.NET开源总线,不依赖于xml配置,支持MSMQ, RabbitMQ, ActiveMQ, WebSphereMQ, Azure,其次配套设施十分齐全,比如对autofac的集成

服务器

  1. Katana 包含一系列的服务器组件,用来创建自包含的web应用程序.
  2. CassiniDev 开源的asp.net服务器,IIS的替代品
  3. IISTuner IIS配置优化工具

图形图像

  1. SharpGL OpenGL的C#封装,更新很

  2. 快,基本可以与Glew保持一致.

  3. Magick.NET 强大的图片处理库,可以处理超过100种格式,无需安装ImageMagick
  4. DotNet.Highcharts Highcharts的封装,用于asp.net,强类型和智能提示,渣前端开发者的福音.

日志

日志框架如何选择 如果你使用了微软企业库,就用企业库自带的,如果你引入的程序集中有的使用了Log4net,那就最好使用Log4net,如果都没有,看个人喜好

  1. Log4net 传统的日志框架,移植于log4jV1.2,高效,稳定
  2. NLog 官方介绍为高级日志框架,与Log4net相比,有比较强的配置文件自纠错能力,更加丰富的LogAppender.
  3. Logging Application Block 微软企业库自带的日志记录模块
  4. Semantic Logging Application Block 微软企业库新出的日志记录框架,理念上不同于前面三个,具体可以参考http://blogs.msdn.com/b/agile/archive/2013/02/07/embracing-semantic-logging.aspx

CMS

  1. Orchard CMS的新起之秀,基于Asp.net MVC.扩展很多.非常值得作为源码学习(值得学习的模块有IOC的深度应用,基于IOC的EventBus,高度抽象的模板系统,Cache,插件化体系,基于NH的数据迁移框架)
  2. DotNetNuke DotNetNuke 是微软支持的一套非常优秀的基于asp.net的开源门户网站程序,功能强大,地位类似于PHP中的WordPress
  3. Umbraco Umbraco 是一种基于.NET技术的开源的CMS(Content Management System),使用SQL Server或MySQL进行存储数据。Umbraco最大的特色是简单、灵活、易用,不管对于开发者还是网站管理者。 Umbraco还提供了WYSIWYG 编辑器几乎与Microsoft Word完全一样

工具篇

  1. nuget vs必备插件第一,项目依赖文件管理.也可以在部门内部架设自己的nuget服务器,用于协作开发中的程序集发布.
  2. Sandcastle Help File Builder Sandcastle本身是微软出品的一个文档生成工具,用来代替NDoc,SHFB基于SandCastle,提供了更多的选项,工具支持和vs集成,推荐使用

最火的.NET开源项目[转]的更多相关文章

  1. 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)

    标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...

  2. 直接拿来用!最火的Android开源项目(完结篇)

    直接拿来用!最火的Android开源项目(完结篇) 2014-01-06 19:59 4785人阅读 评论(1) 收藏 举报 分类: android 高手进阶教程(100) 摘要:截至目前,在GitH ...

  3. 直接拿来用!最火的Android开源项目(完结篇)(转)

    摘要:截至目前,在GitHub“最受欢迎的开源项目”系列文章中我们已介绍了40个Android开源项目,对于如此众多的项目,你是Mark.和码友分享经验还是慨叹“活到老要学到老”?今天我们将继续介绍另 ...

  4. 直接拿来用!最火的Android开源项目(二)(转)

    GitHub上的开源项目不胜枚举,通过这些项目,也能让开发者在应用开发过程中事半功倍,作为开发者的你,在用这些开源项目吗?今天我们将介绍另外20个在GitHub上备受欢迎的Android开源项目,你准 ...

  5. 直接拿来用!最火的Android开源项目(一) (转)

    对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20个An ...

  6. 直接拿来用!最火的iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

  7. 直接拿来用!最火的Android开源项目

    GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你 ...

  8. 转载__直接拿来用!最火的Android开源项目(一)

    http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects 已分类汇总到 https://github.co ...

  9. (转)直接拿来用!最火的iOS开源项目(一)

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

  10. 【JavaScript】直接拿来用!最火的前端开源项目(一)

    摘要:对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,本文整理GitHub上最火的前端开源项目列表,这里按分类的方式列出前九个. 对于开发者而言 ...

随机推荐

  1. NEUACM1132: Renew MST Quickly 增量最小生成树

    题目链接:http://acm.neu.edu.cn/hustoj/problem.php?id=1132 和UVa11354很类似 题意: 原先有一棵树,每次加一条边,看最小生成树大小: 这个和增量 ...

  2. hihocoder 后缀自动机四·重复旋律7

    题目 在\(DAG\)上跑一个\(dp\)就好了 设\(ans_i\)表示到了\(SAM\)的\(i\)位置上所有的子串形成的数的和,之后我们顺便记录一个方案数\(d_i\) 之后我们直接转移就好了 ...

  3. luogu P2424 约数和

    嘟嘟嘟 求出[L, R]中每一个数的约数再相加必定会超时,所以换一种思路:枚举约数d. 对于一个约数d,能整除他的数可以写成k * d, (1 <= k <= ⌊n / d⌋),因此约数d ...

  4. JAVA 线程状态转换图示及说明

    线程状态类型 新建状态(New):新创建了一个线程对象. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行,等待获取C ...

  5. 卸载由源码编译安装的软件(如OpenCV)

    看安装软件的时候有没有使用--prefix这个参数,如果有那就把你指定的文件给删除了就行了. 如果没有用这个参数就麻烦一点了,那就进入到软件解压后的目录,执行sudo make uninstall看能 ...

  6. 【洛谷P3119】[USACO15JAN]草鉴定Grass Cownoisseur

    草鉴定Grass Cownoisseur 题目链接 约翰有n块草场,编号1到n,这些草场由若干条单行道相连.奶牛贝西是美味牧草的鉴赏家,她想到达尽可能多的草场去品尝牧草. 贝西总是从1号草场出发,最后 ...

  7. HDU 1111 Secret Code(数论的dfs)

    Secret Code Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  8. GoBelieve JS IM SDK接入备忘

    类IMService 构造函数 参数说明: * `observer` 回调对象(可选) 设置当前用户的access token 属性名:String accessToken 功能:在调用start之前 ...

  9. 菜鸟笔记 -- Chapter 6.3 对象

    6.3 对象 Java是一门面向对象的程序设计语言,对象是由类抽象出来的,所有的问题都是通过对象来处理的,对象可以操作类的属性和方法解决相应的问题,所以了解对象的产生.操作和生存周期对学习Java语言 ...

  10. datagrid中设置编辑,删除列是否可以访问

    foreach (RepeaterItem Item in rpt_Result.Items) { LinkButton edit = (LinkButton)Item.FindControl(&qu ...