自從學習.NET以來,優雅的編程風格,極度簡單的可擴展性,足夠強大開發工具,極小的學習曲線,讓我對這個平臺產生了濃厚的興趣,在工做和學習中也積累了一些開源的組件,就目前想到的先整理於此,若是再想到,就繼續補充這篇日誌,日積月累,就能造成一個本身的組件經驗庫。javascript
經常使用的一些開源組件整理:
導出Excel報表的插件:NOPI.dll(基於微軟OpenXml實現)(nopi.css.dl經過css設置樣式) 開源的做業調度和自動任務框架:Quartz.NET 微軟針對企業級應用開發的最佳實踐組件:Enterprise Library 5.0 國外一個牛人寫的高級開源集合:PowerCollections 國內知名的ASP.NET分頁控件,支持多種分頁方式:AspNetPagercss
分佈式緩存框架:
Microsoft Velocity(微軟自家的) Memcahed(支持多種語言的客戶端API訪問緩存) Redis(比Memcahed多了數據持久化特性)html
開源的.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和DTCMSjava
日誌記錄異常處理:
輕量級的日誌記錄框架:Log4Net.dll 微軟企業庫日誌記錄:Enterprise Library Log Application Blackandroid
關於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、壓縮和優化框架:SharpSerializerxcode
反射和動態語言
開源的動態語言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
本文不斷收錄更新中,但願對您有所幫助。。。。