文档章节

.NET开源项目【顶一下】

李朝强
 李朝强
发布于 2014/05/23 10:55
字数 1974
阅读 369
收藏 10

综合类

  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集成,推荐使用

本文转载自:http://www.open-open.com/lib/view/open1393838784177.html

李朝强
粉丝 90
博文 297
码字总数 149962
作品 0
郑州
产品经理
私信 提问
【开源访谈】Apache Eagle 联合发起人陈浩:如何发起和维护开源项目

Apache Eagle是开源分布式实时Hadoop数据安全方案,支持数据行为实时监控,能立即监测出对敏感数据的访问或恶意的操作,并立即采取应对的措施。它是如何成为Apache 顶级开源项目的呢?在发起...

OSC源创君
2017/06/04
1K
0
车江毅/NScript

##.Net 动态脚本引擎 NScript## 用于解决.net环境windows系统下类似java中Grovvy的功能和方向。 在互联网项目可以用来做一些功能,如动态营销活动(营销业务解耦和剥离),规则引擎,流程引擎...

车江毅
2016/06/27
0
0
如何为开源项目做出自己的贡献

我是开源软件的使用者,另一方面也是开源项目作者,所以想结合自己项目的实践来说说我对《如何为开源项目做出自己贡献》的一些理解。 1、单纯地使用开源软件,是不是对开源软件做出了贡献? ...

PSI
2016/05/06
1K
5
Linux基金会发布中文版企业开源指南

导读 Linux 基金会是一个通过开源实现大规模创新的非盈利性组织,已经发布了10本企业开源指南的中文翻译,旨在帮助高管,开源项目经理,开发人员,律师和决策者学习如何最佳利用开源。 CNCF...

问题终结者
2018/07/05
32
0
Linux 基金会和 TODO 联合发布中文版企业版开源指南

Linux 基金会是一个通过开源实现大规模创新的非盈利性组织,已经发布了10本企业开源指南的中文翻译,旨在帮助高管,开源项目经理,开发人员,律师和决策者学习如何最佳利用开源。 CNCF 首席技...

达尔文
2018/06/26
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
4
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
7
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部