生活随笔
收集整理的這篇文章主要介紹了
.NET 开源项目概览
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
閱讀目錄
- 綜合類
- IOC容器
- ORM框架
- 文檔操作
- 基礎類庫
- 輔助開發
- 企業總線
- 服務器
- 圖形圖像
- 日志
- CMS
- 工具篇
綜合類
微軟企業庫?微軟官方出品,是為了協助開發商解決企業級應用開發過程中所面臨的一系列共性的問題, 如安全(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.這兩個擴展可能更接近傳統意義上的ORMServiceStack.OrmLite?另外一個MiniORM,性能僅次于Dapper,支持大部分的數據庫,比Dapper豐富的多的API和更好的強類型lambda表達式查詢條件支持,映射0配置,也支持以Attribute配置,支持表的創建和刪除,好東西.我最喜歡~~
回到頂部
文檔操作
EppPlus?使用xlsx協議讀寫Excel2007/2010,功能非常多DocX?讀寫Word2007/2010文件,無需安裝officePdfSharp?操作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 queueNServiceBus?最流行的.NET開源總線,不依賴于xml配置,支持MSMQ, RabbitMQ, ActiveMQ, WebSphereMQ, Azure,其次配套設施十分齊全,比如對autofac的集成
回到頂部
服務器
Katana?包含一系列的服務器組件,用來創建自包含的web應用程序.CassiniDev?開源的asp.net服務器,IIS的替代品IISTuner?IIS配置優化工具
回到頂部
圖形圖像
SharpGL?OpenGL的C#封裝,更新很
快,基本可以與Glew保持一致.
Magick.NET?強大的圖片處理庫,可以處理超過100種格式,無需安裝ImageMagickDotNet.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中的WordPressUmbraco?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集成,推薦使用
總結
以上是生活随笔為你收集整理的.NET 开源项目概览的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。