筆記【2015/08/14】最火的.NET開源項目

綜合類

    微軟企業庫 微軟官方出品,是爲了協助開發商解決企業級應用開發過程當中所面臨的一系列共性的問題, 如安全(Security)、日誌(Logging)、數據訪問(Data Access)、配置管理(Configuration Manage)等,並將這些普遍使用的應用程序塊集成封裝至一個叫企業庫的程序包中
    CommonLibrary.net 一個幫助類庫,包含了ActiveRecord, Csv, Command Line Parsing, Configuration, Validation, Logging, Collections, Authentication等等
    Castle 一個傳統的綜合類庫,包含IOC容器,基於ActiveRecord模式的ORM,類MVC框架,核心,如今用的比較多的是核心Castle.Core, 裏面包含了基於虛擬工廠的日誌抽象,動態代理DynamicProxy,Dictionary Adapter(能夠將一個接口轉化爲強類型的Dictionary對象,具體你們能夠查一查,某些場景下頗有用)


IOC容器

    Autofac 我最喜歡的一個IOC容器,特性豐富,除了IOC的基本功能外,還提供模塊化和程序集掃描,內置了不少有用的擴展(Lazy,Func,Owned,IEnumrable)等等,並且對asp.net,mvc,mef,wcf,dynamicProxy等等提供了集成.
    Unity 微軟企業庫的基礎,功能簡單,擴展方便,微軟官方提供一個EventBus的擴展例子,值得一看
    Ninject 主打特性簡單易用,不少講MVC的書中都用這個作例子
    StructureMap 一個傳統的IOC容器,很早就出來了,性能優越,功能穩定,已經不更新了(在一個IOC容器的性能測試中性能最佳)


ORM框架

    NHibernate 一個傳統的ORM,移植於java的Hibernate,3.0後發展迅速,提供FluentMap和FluentConfig,支持Linq,支持 HQL和NativeSQL,支持一級緩存和二級緩存,豐富的ID生成策略,更多的攔截事件暴露,支持常見的全部數據庫,缺點就是配置選項有點多,初學者 無處下手
    EntityFramework 微軟官方出的ORM,配置簡單,比NH更好的Linq支持,工具支持和較低的學習門檻,命名約定配置,支持CodeFirst DbMigration(在開發時,不能用在生產環境中),缺點就是不支持批量操做(第三方庫EntityFramework.Extension擴展了 這一點,還作了緩存),無原生的二級緩存,,單調的ID生成方式,不支持多數據庫(不少數據庫如MySql都對EF提供了支持,可是bug多多,有穩定的 商業庫能夠選擇),還有單一的配置方式(當你想從程序集動態加載model到DbContext中時,你就會知道就多捉雞)
    Dapper StackOverflow開源的一個MiniOrm,性能和原生ado.net相近,0配置,強類型支持.缺點一樣是有小bug,較弱的LINQ支持 (只找到一個MSSQL的linq插件)有兩個關於Dapper的擴展,一個叫Dapper.Extension,一個叫 Dapper.Rainbow.Mysql.這兩個擴展可能更接近傳統意義上的ORM
    ServiceStack.OrmLite 另一個MiniORM,性能僅次於Dapper,支持大部分的數據庫,比Dapper豐富的多的API和更好的強類型lambda表達式查詢條件支持,映射0配置,也支持以Attribute配置,支持表的建立和刪除,好東西.我最喜歡~~

文檔操做

    EppPlus 使用xlsx協議讀寫Excel2007/2010,功能很是多
    DocX 讀寫Word2007/2010文件,無需安裝office
    PdfSharp 操做pdf

基礎類

    AutoMapper 對象映射,經常使用來作DTO/ViewModel和Model之間的映射,功能豐富遠超你想象
    Html Agility PackHtml解析庫
    Json.net Json序列化和反序列化,基本支持全部的json特性,性能也很好,MVC4的默認引用程序集中已包含.(支持4.0的動態對象,這個很好用)
    FluentValidation 相似於4.0新出的代碼契約,用於對業務對象建立驗證規則.其自己已經內置了不少的規則
    DotNetZip 建立,壓縮,解壓Zip文件
    SharpZipLib 建立,壓縮,解壓Zip文件
    SevenZipSharp 支持7zip全部格式的壓縮和解壓縮
    Rx 使用可觀測對象(IObservable)的序列和 LINQ 風格的查詢操做來編寫異步和基於事件的程序。開發人員可經過 Rx 使用可觀測對象來表示異步數據流,並使用 LINQ 操做來查詢異步數據流。簡而言之:Rx = Observables + LINQ + Schedulers.
    Microsoft.Bcl.Async 能夠在4.0中使用4.5中新增的async和await兩個關鍵字

輔助開發

    Autoupdate 爲你的程序一鍵增長更新功能
    NetSparkle 一個獨立的升級框架,不依賴於你的程序和代碼
    MailSystem.NET 功能強大的電子郵件組件,提供對SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, vCard, vCalendar, Anti-Spam (Bayesian , RBL, DomainKeys), Queueing, Mail Merge and WhoIs的支持
    FluentMigrator 一個相似於RubyMigrations的數據庫Migration框架
    GMap.Net 一個強大的.NET地圖控件,能夠用於Winform和WPF,跨平臺,支持 Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz, Maps.lt, iKarte.lv, NearMap, OviMap, CloudMade, WikiMapia, MapQuest ,同窗們能夠根據需求擴展國內的版本.


企業總線

    Shuttle ESB 一個開源的企業總線,C#編寫,不依賴第三方程序集,支持MSMQ和table-based queue
    NServiceBus 最流行的.NET開源總線,不依賴於xml配置,支持MSMQ, RabbitMQ, ActiveMQ, WebSphereMQ, Azure,其次配套設施十分齊全,好比對autofac的集成

服務器

    Katana 包含一系列的服務器組件,用來建立自包含的web應用程序.
    CassiniDev 開源的asp.net服務器,IIS的替代品
    IISTuner IIS配置優化工具


圖形圖像

    SharpGL OpenGL的C#封裝,更新很

    快,基本能夠與Glew保持一致.
    Magick.NET 強大的圖片處理庫,能夠處理超過100種格式,無需安裝ImageMagick
    DotNet.Highcharts Highcharts的封裝,用於asp.net,強類型和智能提示,渣前端開發者的福音.

日誌

    日誌框架如何選擇若是你使用了微軟企業庫,就用企業庫自帶的,若是你引入的程序集中有的使用了Log4net,那就最好使用Log4net,若是都沒有,看我的喜愛

    Log4net 傳統的日誌框架,移植於log4jV1.2,高效,穩定
    NLog 官方介紹爲高級日誌框架,與Log4net相比,有比較強的配置文件自糾錯能力,更加豐富的LogAppender.
    Logging Application Block 微軟企業庫自帶的日誌記錄模塊

    Semantic Logging Application Block 微軟企業庫新出的日誌記錄框架,理念上不一樣於前面三個,具體能夠參考http://blogs.msdn.com/b/agile/archive/2013/02/07/embracing-semantic-logging.aspx 前端


CMS

    Orchard CMS的新起之秀,基於Asp.net MVC.擴展不少.很是值得做爲源碼學習(值得學習的模塊有IOC的深度應用,基於IOC的EventBus,高度抽象的模板系統,Cache,插件化體系,基於NH的數據遷移框架)
    DotNetNuke DotNetNuke 是微軟支持的一套很是優秀的基於asp.net的開源門戶網站程序,功能強大,地位相似於PHP中的WordPress
    Umbraco Umbraco 是一種基於.NET技術的開源的CMS(Content Management System),使用SQL Server或MySQL進行存儲數據。Umbraco最大的特點是簡單、靈活、易用,無論對於開發者仍是網站管理者。 Umbraco還提供了WYSIWYG 編輯器幾乎與Microsoft Word徹底同樣

工具篇     nuget vs必備插件第一,項目依賴文件管理.也能夠在部門內部架設本身的nuget服務器,用於協做開發中的程序集發佈.     Sandcastle Help File Builder Sandcastle自己是微軟出品的一個文檔生成工具,用來代替NDoc,SHFB基於SandCastle,提供了更多的選項,工具支持和vs集成,推薦使用
相關文章
相關標籤/搜索