自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库。
常用的一些开源组件整理:
导出Excel报表的插件:NOPI.dll(基于微软OpenXml实现)(nopi.css.dl通过css设置样式) 开源的作业调度和自动任务框架:Quartz.NET 微软针对企业级应用开发的最佳实践组件:Enterprise Library 5.0 国外一个牛人写的高级开源集合:PowerCollections 国内知名的ASP.NET分页控件,支持多种分页方式:AspNetPager
分布式缓存框架:
Microsoft Velocity(微软自家的) Memcahed(支持多种语言的客户端API访问缓存) Redis(比Memcahed多了数据持久化特性)
开源的.NET系统推荐:
微软ASP.NET MVC案例演示框架:OXITE 微软ASP.NET宠物商店:PetShop 国外一个MVC开源的博客:Orchard1.3 NET Framework开源代码:SSCLI(微软也开源过.NET框架) 国外一个ASP.NET博客系统: DasBlog2.3 举世闻名博客引擎:BlogEngine.NET2.5 微软支持的空前绝后的很多人研究的:Dotnetnuke.NET 国内开源的论坛社区系统:Discuz.NET 国外一套高质量的开源B2C网站系统:nopCommerce和Aspxcommerce 国内两款开源的网站管理系统:JumboTCMS和DTCMS
日志记录异常处理:
轻量级的日志记录框架:Log4Net.dll 微软企业库日志记录:Enterprise Library Log Application Black
关于NoSQL数据库:
分布式文件存储数据库:Mongodb 家族的一个新的重量级的成员:Membase
依赖注入IOC容器框架:
微软企业与实践组开发的:Enterprise Library Unity 微软框架已经自动集成的:MEF(Managed Extensibility Framework) 一个曾被很多人用过的轻量级注入框架:Spring.NET 轻量级性能较好的IOC框架:Autofac 实现静态AOP横切关注点:PostSharp
常用的几个ORM框架:
微软企业与实践组开发的:Microsoft LINQ To SQL 微软对新的支持多数据库的:Microsoft ADO.NET Entity Framework 一个极度轻量级的ORM框架 :Nhibernate 一个速度极快,轻量级的ORM类,就一个文件:SqlMapper.cs 对象映射,领域对象与DTO之间转换、将查询结果映射至实体:AutoMapper 基于数据库自动创建数据库访问层:SubSonic
格式和数据类型转换
JOSN数据格式序列化和反序列化:JSON.NET 非常轻量级且高性能的JSON序列化器:fastJSON 微软自己开发的JSON序列化组件:System.JSON.dll(需要单独下载) 微软在WCF中使用的序列化器:DataContractJsonSerializer和DataContractXmlSerializer 微软默认针对WEB开发者提供的JSON格式化器:JavaScriptSerializer 通过.NET处理和生成PDF文档的组件:iTextSharp、PDFsharp和PDF.NET 免费开源的ZIP文件解压组件:SharpZipLib.dll 强大的数学运算、微积分、解方程和科学运算:Math.NET 不需要安装word软件,通过C#操作word文件:DocX 开源XML和、二进制、JSON、压缩和优化框架:SharpSerializer
反射和动态语言
开源的动态语言dynamic框架让您形如javascript的方式创建对象:Clay dynamic 在类的外部通过动态语言dynamic的方式访问私有成员:ExposedObject 微软单元测试框架中便捷在外部调用类内部私有成员的一个类:PrivateObject
跨平台和运行时解决方案
跨平台的.NET运行环境,几乎无所不能:MONO.NET 类似于MONO.NET的跨平台运行时:DotGnu Portable.NET 将PHP编译成.NET,可实现PHP与.NET互操作:Phalanger 中国移动飞信所使用过的.NET运行时:VMDotNet 支持C#和JavaScript的跨平台游戏框架:Unity3D 开源的ASP.NET执行环境:Cassini、IIS Express和Cassinidev 微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等:Katana
WEB开发和设计
基于.NET开发的HTML引擎:Jumony Core 高性能解析处理HTML的框架:Microsoft.mshtml.dll、Winista.HtmlParser.dll和HtmlAgilityPack.dll 基于.NET开发的JavaScript引擎:JavaScript.NET和ClearScript(微软出品) 提供了标准的DOM API和XPath导航引擎,支持不规则的HTML:Html Agility Pack 其HTML处理引擎htmlagilitypack的的开源网络爬虫软件:NCrawler 微软官方防跨站XSS脚本入侵:AntiXSS
移动互联网和云计算
通过.NET向各种移动平台推送消息:PushSharp 用.NET语言开发安卓应用:mono for android 用.NET语言开发IOS应用:MonoTouch 跨平台基于HTML5的移动开发平台:PhoneGap和AppCan
网络通信和网络协议
基于.NET轻量级的可扩展的Socket开发框架:SuperSocket 通过.NET实现TML5 WebSocket框架:SuperWebSocket 基于C#语言的HTTP协议的类库:HttpLib 支持插件的基础代理程序集,内置NAT、加解密、反向、直接和间接代理:XProxy
图形和图像处理框架
基于.NET小巧灵活强大的图形处理开源项目:Paint.NET 用C#对开源图像处理组件Imagemagick的封装:Imagemagick.NET 基于.NET开源的屏幕截图软件:Skimpt 商业的图像处理组件,支持的格式列了一大堆:ImageGlue.NET
桌面应用程序框架
一个全球知名的桌面应用程序UI控件库:DevExpress 开发Office风格的Ribbon菜单:WPFToolkit和Fluent Ribbon Control Suite
测试和性能评估方面
方便生成大批量测试数据的框架:Faker.Net 一个轻量级的单元测试框架:NUNIT.NET
事务和分布式事务支持
一个支持NTFS文件系统的事务开源类:KtmIntegration 对文件系统操作(复制、移动和删除)加入事务支持:.NET Transactional File Manager
分词、全文检索和搜索引擎
用于大数据搜索引擎的全文检索框架:Lucene.net 很不错的中文分词算法盘古文词:PanGu.Lucene.Analyzer.dll和PanGu.dll
数据验证组件整理
基于LINQ表达式方法链Fluent接口验证组件:FluentValidation for .NET 微软企业库验证程序块:Microsoft.Practices.EnterpriseLibrary.Validation.dll 基于Fluent接口方法练接口的契约编程组件:CuttingEdge.Conditions
本文不断收录更新中,希望对您有所帮助。。。。