直接拿來用,最火的.NET開源項目(beta)

綜合類

  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 Pack Html解析庫
  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集成,推薦使用

發佈了115 篇原創文章 · 獲贊 7 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章