| 最火的.NET開源項(xiàng)目
                    標(biāo)簽:c#net   .net   web應(yīng)用   開源項(xiàng)目    
綜合類微軟企業(yè)庫(kù) 微軟官方出品,是為了協(xié)助開發(fā)商解決企業(yè)級(jí)應(yīng)用開發(fā)過程中所面臨的一系列共性的問題, 如安全(Security)、日志(Logging)、數(shù)據(jù)訪問(Data
 Access)、配置管理(Configuration Manage)等,并將這些廣泛使用的應(yīng)用程序塊集成封裝至一個(gè)叫企業(yè)庫(kù)的程序包中CommonLibrary.net 一個(gè)幫助類庫(kù),包含了ActiveRecord, Csv, Command Line Parsing,
 Configuration, Validation, Logging, Collections, Authentication等等Castle 一個(gè)傳統(tǒng)的綜合類庫(kù),包含IOC容器,基于ActiveRecord模式的ORM,類MVC框架,核心,現(xiàn)在用的比較多的是核心Castle.Core,
 里面包含了基于虛擬工廠的日志抽象,動(dòng)態(tài)代理DynamicProxy,Dictionary Adapter(可以將一個(gè)接口轉(zhuǎn)化為強(qiáng)類型的Dictionary對(duì)象,具體大家可以查一查,某些場(chǎng)景下很有用)
 
IOC容器Autofac 我最喜歡的一個(gè)IOC容器,特性豐富,除了IOC的基本功能外,還提供模塊化和程序集掃描,內(nèi)置了很多有用的擴(kuò)展(Lazy,Func,Owned,IEnumrable)等等,而且對(duì)asp.net,mvc,mef,wcf,dynamicProxy等等提供了集成.Unity 微軟企業(yè)庫(kù)的基礎(chǔ),功能簡(jiǎn)單,擴(kuò)展方便,微軟官方提供一個(gè)EventBus的擴(kuò)展例子,值得一看Ninject 主打特性簡(jiǎn)單易用,很多講MVC的書中都用這個(gè)做例子StructureMap 一個(gè)傳統(tǒng)的IOC容器,很早就出來了,性能優(yōu)越,功能穩(wěn)定,已經(jīng)不更新了(在一個(gè)IOC容器的性能測(cè)試中性能最佳)
 
ORM框架NHibernate 一個(gè)傳統(tǒng)的ORM,移植于java的Hibernate,3.0后發(fā)展迅速,提供FluentMap和FluentConfig,支持Linq,支持
 HQL和NativeSQL,支持一級(jí)緩存和二級(jí)緩存,豐富的ID生成策略,更多的攔截事件暴露,支持常見的所有數(shù)據(jù)庫(kù),缺點(diǎn)就是配置選項(xiàng)有點(diǎn)多,初學(xué)者無處下手EntityFramework 微軟官方出的ORM,配置簡(jiǎn)單,比NH更好的Linq支持,工具支持和較低的學(xué)習(xí)門檻,命名約定配置,支持CodeFirst
 DbMigration(在開發(fā)時(shí),不能用在生產(chǎn)環(huán)境中),缺點(diǎn)就是不支持批量操作(第三方庫(kù)EntityFramework.Extension擴(kuò)展了這一點(diǎn),還做了緩存),無原生的二級(jí)緩存,,單調(diào)的ID生成方式,不支持多數(shù)據(jù)庫(kù)(很多數(shù)據(jù)庫(kù)如MySql都對(duì)EF提供了支持,但是bug多多,有穩(wěn)定的商業(yè)庫(kù)可以選擇),還有單一的配置方式(當(dāng)你想從程序集動(dòng)態(tài)加載model到DbContext中時(shí),你就會(huì)知道就多捉雞)Dapper StackOverflow開源的一個(gè)MiniOrm,性能和原生ado.net相近,0配置,強(qiáng)類型支持.缺點(diǎn)同樣是有小bug,較弱的LINQ支持
 (只找到一個(gè)MSSQL的linq插件)有兩個(gè)關(guān)于Dapper的擴(kuò)展,一個(gè)叫Dapper.Extension,一個(gè)叫 Dapper.Rainbow.Mysql.這兩個(gè)擴(kuò)展可能更接近傳統(tǒng)意義上的ORMServiceStack.OrmLite 另外一個(gè)MiniORM,性能僅次于Dapper,支持大部分的數(shù)據(jù)庫(kù),比Dapper豐富的多的API和更好的強(qiáng)類型lambda表達(dá)式查詢條件支持,映射0配置,也支持以Attribute配置,支持表的創(chuàng)建和刪除,好東西.我最喜歡~~
 
文檔操作EppPlus 使用xlsx協(xié)議讀寫Excel2007/2010,功能非常多DocX 讀寫Word2007/2010文件,無需安裝officePdfSharp 操作pdf
 
基礎(chǔ)類庫(kù)AutoMapper 對(duì)象映射,常用來做DTO/ViewModel和Model之間的映射,功能豐富遠(yuǎn)超你想象Html Agility PackHtml解析庫(kù)Json.net Json序列化和反序列化,基本支持所有的json特性,性能也很好,MVC4的默認(rèn)引用程序集中已包含.(支持4.0的動(dòng)態(tài)對(duì)象,這個(gè)很好用)FluentValidation 類似于4.0新出的代碼契約,用于對(duì)業(yè)務(wù)對(duì)象創(chuàng)建驗(yàn)證規(guī)則.其本身已經(jīng)內(nèi)置了很多的規(guī)則DotNetZip 創(chuàng)建,壓縮,解壓Zip文件SharpZipLib 創(chuàng)建,壓縮,解壓Zip文件SevenZipSharp 支持7zip所有格式的壓縮和解壓縮Rx 使用可觀測(cè)對(duì)象(IObservable)的序列和 LINQ 風(fēng)格的查詢操作來編寫異步和基于事件的程序。開發(fā)人員可通過 Rx 使用可觀測(cè)對(duì)象來表示異步數(shù)據(jù)流,并使用
 LINQ 操作來查詢異步數(shù)據(jù)流。簡(jiǎn)而言之:Rx = Observables + LINQ + Schedulers.Microsoft.Bcl.Async 可以在4.0中使用4.5中新增的async和await兩個(gè)關(guān)鍵字
 
輔助開發(fā)Autoupdate 為你的程序一鍵增加更新功能NetSparkle 一個(gè)獨(dú)立的升級(jí)框架,不依賴于你的程序和代碼MailSystem.NET 功能強(qiáng)大的電子郵件組件,提供對(duì)SMTP, POP3, IMAP4, NNTP, MIME, S/MIME,
 OpenPGP, DNS, vCard, vCalendar, Anti-Spam (Bayesian , RBL, DomainKeys), Queueing, Mail Merge and WhoIs的支持FluentMigrator 一個(gè)類似于RubyMigrations的數(shù)據(jù)庫(kù)Migration框架GMap.Net 一個(gè)強(qiáng)大的.NET地圖控件,可以用于Winform和WPF,跨平臺(tái),支持 Coogle, Yahoo!, Bing,
 OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz, Maps.lt, iKarte.lv, NearMap, OviMap, CloudMade, WikiMapia, MapQuest ,同學(xué)們可以根據(jù)需求擴(kuò)展國(guó)內(nèi)的版本.
 
企業(yè)總線Shuttle ESB 一個(gè)開源的企業(yè)總線,C#編寫,不依賴第三方程序集,支持MSMQ和table-based queueNServiceBus 最流行的.NET開源總線,不依賴于xml配置,支持MSMQ, RabbitMQ, ActiveMQ, WebSphereMQ,
 Azure,其次配套設(shè)施十分齊全,比如對(duì)autofac的集成
 
服務(wù)器Katana 包含一系列的服務(wù)器組件,用來創(chuàng)建自包含的web應(yīng)用程序.CassiniDev 開源的asp.net服務(wù)器,IIS的替代品IISTuner IIS配置優(yōu)化工具
 
圖形圖像
SharpGL OpenGL的C#封裝,更新很
快,基本可以與Glew保持一致.Magick.NET 強(qiáng)大的圖片處理庫(kù),可以處理超過100種格式,無需安裝ImageMagickDotNet.Highcharts Highcharts的封裝,用于asp.net,強(qiáng)類型和智能提示,渣前端開發(fā)者的福音.
 
日志
日志框架如何選擇如果你使用了微軟企業(yè)庫(kù),就用企業(yè)庫(kù)自帶的,如果你引入的程序集中有的使用了Log4net,那就最好使用Log4net,如果都沒有,看個(gè)人喜好 Log4net 傳統(tǒng)的日志框架,移植于log4jV1.2,高效,穩(wěn)定NLog 官方介紹為高級(jí)日志框架,與Log4net相比,有比較強(qiáng)的配置文件自糾錯(cuò)能力,更加豐富的LogAppender.Logging Application Block 微軟企業(yè)庫(kù)自帶的日志記錄模塊Semantic Logging Application Block 微軟企業(yè)庫(kù)新出的日志記錄框架,理念上不同于前面三個(gè),具體可以參考http://blogs./b/agile/archive/2013/02/07/embracing-semantic-logging.aspx
 
CMSOrchard CMS的新起之秀,基于Asp.net MVC.擴(kuò)展很多.非常值得作為源碼學(xué)習(xí)(值得學(xué)習(xí)的模塊有IOC的深度應(yīng)用,基于IOC的EventBus,高度抽象的模板系統(tǒng),Cache,插件化體系,基于NH的數(shù)據(jù)遷移框架)DotNetNuke DotNetNuke 是微軟支持的一套非常優(yōu)秀的基于asp.net的開源門戶網(wǎng)站程序,功能強(qiáng)大,地位類似于PHP中的WordPressUmbraco Umbraco 是一種基于.NET技術(shù)的開源的CMS(Content Management System),使用SQL
 Server或MySQL進(jìn)行存儲(chǔ)數(shù)據(jù)。Umbraco最大的特色是簡(jiǎn)單、靈活、易用,不管對(duì)于開發(fā)者還是網(wǎng)站管理者。 Umbraco還提供了WYSIWYG 編輯器幾乎與Microsoft Word完全一樣
 
工具篇nuget vs必備插件第一,項(xiàng)目依賴文件管理.也可以在部門內(nèi)部架設(shè)自己的nuget服務(wù)器,用于協(xié)作開發(fā)中的程序集發(fā)布.Sandcastle Help File Builder Sandcastle本身是微軟出品的一個(gè)文檔生成工具,用來代替NDoc,SHFB基于SandCastle,提供了更多的選項(xiàng),工具支持和vs集成,推薦使用
 最火的.NET開源項(xiàng)目 標(biāo)簽:c#net   .net   web應(yīng)用   開源項(xiàng)目   
 |