C#常用開源框架

01,Json.NET 

http://json.codeplex.com/

Json.Net 是一個讀寫Json效率比較高的.Net框架.Json.Net 使得在.Net環境下使用Json更加簡單。通過Linq To JSON可以快速的讀寫Json,通過JsonSerializer可以序列化你的.Net對象。讓你輕鬆實現.Net中所有類型(對象,基本數據類型 等)和Json的轉換。

 

02,Math.NET

http://www.mathdotnet.com/

Math.NET的目標是爲提供一款自身包含清晰框架的符號運算和數學運算/科學運算,它是C#開發的開源類庫。Math.NET含了一個支持線性代數的解析器,分析複雜微分,解方程等等功能。

 

03,Faker.Net

https://github.com/jonwingfield/Faker.Net

開發的時候是不是爲測試數據煩惱?Faker.Net可以非常方便幫你生成大批量測試數據。例如人員表裏面的姓名、性別什麼的。

 

04,Html Agility Pack

http://htmlagilitypack.codeplex.com/

Html Agility Pack 是CodePlex 上的一個開源項目。它提供了標準的DOM API 和XPath 導航--即使 HTML 不是適當的格式!HTML Agility Pack 搭配 ScrapySharp,徹底解除Html解析的痛苦。

 

05,NCrawler

http://ncrawler.codeplex.com/

NCrawler是一款國外的開源網絡爬蟲軟件,遵循LGPL許可協議。其HTML處理使用的是htmlagilitypack開源庫,採用xpath的方式處理定位網頁元素,十分方便。

 

06,SuperWebSocket

http://superwebsocket.codeplex.com/

SuperWebSocket是基於.NET開源Socket框架SuperSocket開發的, SuperSocket所支持的大部分功能在SuperWebSocket中得到了繼承。用戶可通過SuperWebSocket來快速的構建可靠的,高性能的websocket服務器端應用程序。

 

07,SuperSocket 

http://supersocket.codeplex.com/

SuperSocket 是 一個輕量級的可擴展的 Socket 開發框架,可用來構建一個服務器端 Socket 程序,而無需瞭解如何使用 Socket,如何維護Socket連接,Socket是如何工作的。該項目使用純 C# 開發,易於擴展和集成到已有的項目。只要你的已有系統是使用.NET開發的,你都能夠使用 SuperSocket來輕易的開發出你需要的Socket應用程序來集成到你的現有系統之中。

 

08,Quartz.NET

http://www.quartz-scheduler.net/

Quartz.NET 是一個開源的作業調度框架,是 OpenSymphony 的 Quartz API的.NET移植,它用C#寫成,可用於winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來爲執行一個作業而 創建簡單的或複雜的調度。它有很多特徵,如:數據庫支持,集羣,插件,支持cron-like表達式等等。

 

09,Lucene.Net

http://lucenenet.apache.org/

Lucene.net是Lucene的.net移植版本,是一個開源的全文檢索引擎開發包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。開發人員可以基於Lucene.net實現全文檢索的功能。

 

10,HttpLib

 http://httplib.codeplex.com/

一個基於C#語言的http協議的類庫,Httplib讓異步交互處理數據更容易了。類庫的方法包括:上傳文件到服務器,獲取頁面數據等等。

 

11,Smart Thread Pool

http://www.codeproject.com/Articles/7933/Smart-Thread-Pool

智能線程池,用SmartThreadPool可以簡單就實現支持多線程的程序,由線程池來管理線程,可以減少死鎖的出現。SmartThreadPool還支持簡單的生產者-消費者模式,當不需要對任務進行持久化時,還是很好用的。

 

12,DocX

https://docx.codeplex.com/

DocX是一個用來操作word的輕量級的類庫。藉助DocX,開發人員可以在不需要安裝Microsoft Word的情況下操縱word2007/2010文件。

 

13,NPOI

http://npoi.codeplex.com/

NPOI 是 POI 項目的 .NET 版本。POI是一個開源的Java讀寫Excel、WORD等微軟OLE2組件文檔的項目。使用 NPOI 你就可以在沒有安裝 Office 或者相應環境的機器上對 WORD/EXCEL 文檔進行讀寫。NPOI是構建在POI 3.x版本之上的,它可以在沒有安裝Office的情況下對Word/Excel文檔進行讀寫操作。

 

14,PDFsharp

https://pdfsharp.codeplex.com/

PDFsharp 是可以輕鬆地在 .NET 語言中創建PDF文檔的開放源碼庫。它使用相同的繪製程序來創建 PDF 文檔,在屏幕上顯示,以及輸出到打印機。可以修改、合併、拆分已經存在的 PDF 文件,支持透明圖像。

 

15,Dapper

https://github.com/SamSaffron/dapper-dot-net

Dapper 是一個輕型的ORM類。代碼就一個 SqlMapper.cs文件,編譯後就40K的一個很小的Dll.Dapper很快。Dapper的速度接近與IDataReader,取列表的數據超 過了DataTable。Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的數據庫,當然如 果你知道原理也可以讓它支持Mongo db。話說,這個ORM,博主自己也一直在使用,確實十分強悍,至少在性能方面,恐怕.NET裏面的大多數ORM只能是望其項背了。

 

16,NHibernate

https://github.com/nhibernate

NHibernate是現在開發人員用的較多的一個ORM。NHibernate是一個面向.NET環境的對象/關係數據庫映射工具。對象/關係數據庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基於SQL的關係模型數據結構中去。

 

17,log4net

http://logging.apache.org/log4net/

log4net庫是Apache log4j框架在Microsoft .NET平臺的實現,是一個幫助程序員將日誌信息輸出到各種目標(控制檯、文件、數據庫等)的工具。

 

18,SharpSerializer 

http://sharpserializer.codeplex.com/

SharpSerializer是一個開源XML和二進制序列化器。SharpSerializer可以序列化Xml和自己的二進制格式,還可以序列化Json等其他文本格式或其他數據加密,壓縮,優化等二進制流。

 

19,XProxy

http://xproxy.codeplex.com/

XProxy是一個支持插件的基礎代理程序集。通過編寫簡單的插件程序,你將能開發各種各樣的代理程序。XProxy是一個支持插件開發的數據交換機,可以編寫插件對中轉數據進行處理。內置有NAT插件、加解密插件、反向代理、直接代理、間接代理等插件。

 

20,nopCommerce

http://nopcommerce.codeplex.com/releases/view/106146

nopcommerce 是國外的一個高質量的開源b2c 網站系統,基於EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很強的插件機制,包括支付配送功能都是通過插件來實現 的,基於xml的多語言版本,非常靈活的語言切換功能,包括在後臺都能同時編輯產品的中英文屬性,非常適合做外貿,優秀超前的程序架構,性能也非常強大, 自定義的產品名稱和分類又有很好的seo優化。綜合能力遠遠高於國內的一些程序架構糟糕的.net商城程序,是二次開發和大型b2c架構的首選。3.0開 始支持多店。

 

21,Enterprise Library

https://entlib.codeplex.com/

Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小組爲.NET Framework 3.5 開發一套企業庫, 目前最新版本爲v5.0,支持.NET Framework 4.0,共包括9個Application Block,包括數據訪問(Data Access Application Block)、異常管理(Exception Handling Application Block)、數據驗證(Validation Application Block)等等,對企業應用開發非常有幫助,也非常實用。

 

22,Autofac

http://autofac.org/

Autofac是一款非常優秀的IOC框架,比較於其他的IOC框架,如Spring.NET,等等之類的,它非常的輕量級且性能上也很卓越。

 

23,AutoMapper

https://github.com/AutoMapper/AutoMapper

AutoMapper是一個.NET的對象映射工具。主要用於領域對象與DTO之間的轉換、數據庫查詢結果映射至實體對象。

 

24,7-Zip

http://www.7-zip.org/

http://sourceforge.net/projects/sevenzip/postdownload?source=dlp

7-Zip 是 一款號稱有着現今最高壓縮比的壓縮軟件,它不僅支持獨有的 7z 文件格式,而且還支持各種其它壓縮文件格式,其中包括 ZIP, RAR, CAB, GZIP, BZIP2和 TAR 等等。此軟件壓縮的壓縮比要比普通 ZIP 文件高 30-50% ,因此,它可以把 Zip 格式的文件再壓縮 2-10% 。

============Net PDF 類庫==========

25,PDFsharp   

    PDFsharp是一款可以讓.NET框架支持的任何語言很容易的創建PDF文件的類庫。

26,ASP.NET FO PDF   

    FO PDF 是一款C#編寫類似於ASP.NET服務器控件的控件。它接受DataTable 和一些其它參數來創建XSL FO,並使用NFOP (Apache FOP Port in J#) PDF Formatter來繪製一個類似PDF Report 的DataGrid 。今後將會增加更多的標籤來可以生成XSL FO 。

27,Report.NET    

    Report.NET 開源類庫包含了生成精確PDF文檔的類。它是.NET平臺下的C#編寫的,可以幫助你創建簡單的靈活的PDF文件。你可以從任何ADO.NET的 DataSet取得數據來創建PDF文檔。ASP.NET可以用Report.NET來創建動態的PDF響應頁面。

28,SharpPDF   

     SharpPDF是可以用來簡單的創建PDF文件的C#類庫。它創建的文件百分白兼容PDF格式。

29,iTextSharp   

   iTextSharp是一款開源的PDF操作類庫,使用它可以快速的創建PDF文件。http://hardrock.cnblogs.com/  是一個關於 iTextSharp的中文Blog。

================工作流 ================

30,Workflow.Net    

     Workflow.Net是使用微軟.Net技術基於wmfc標準的創建工作流引擎。

31,netBPM    

     NetBPM是JBpm移植到.net平臺下的一款開源工作流軟件。NetBpm可以很容易和.Net應用程序集成在一起,可以創建,執行和管理工作流程序。     Bpm Tool支持將業務模型轉換成軟件模型。業務開發人員可以使用模型驅動的方法設計,實現,執行和跟蹤業務流程。因此開發人員能夠更容易的關注業務邏輯的變化。

 

================持久層框架================

32,NHibernate    

     NHibernate是一個面向.NET環境的針對關係型數據庫的對象持久化類庫。      NHibernate來源於非常優秀的基於Java的Hibernate關係型持久化工具。 NHibernate從數據庫底層來持久化你的.Net對象到關係型數據庫。NHibernate爲你處理這些,你不用自己寫SQL去數據庫存取對象。你 的代碼僅僅和對象關聯,NHibernat自動產生SQL語句,並確保對象提交到正確的表和字段中去.大量減少開發時人工使用SQL和ADO.NET處理 數據的時間. NHibernate可以幫助你消除或者包裝那些針對特定數據庫的SQL代碼,並且幫你把結果集從表格式的表示形式轉換到一系列的對象去。因此對於那些在 基於.NET的中間層的應用中,它們實現面向對象的業務模型和商業邏輯的應用,NHibernate是最有用的。

33,FileHelpers Library    

    FileHelpers Library是一款C#編寫的開源 .NET 類庫。它使用簡單,很容易就可以從固定長度文件或界定記錄(CSV)讀/寫數據。它也支持從不同的數據存儲格式(Excel, Access, SqlServer)導入/導出數據。

34,Websharp   

    Websharp是國人開源的一款開源持久層框架,它的目標是設計一個基於.Net的通用的應用軟件系統的框架,以簡化基於.Net平臺的企業應用軟件的開發。目前,Websharp關注於企業應用軟件的以下幾個方面:1、  數據庫訪問2、  O/R 映射3、  AOP4、  分佈式訪問

35,ObjectBroker    

    ObjectBroker是.NET平臺下的一款開源O/R映射框架。它支持對象緩存,1:1, 1:n 和 m:n的關聯映射等特性。

36,Gentle.NET    

    Gentle.NET是一款開源的與關係數據庫(RDBMS)無關的對象持久層框架,可以自動生成SQL和對象結構。它擁有一個SQL工廠用來創建自定義查詢、DataView構建助手和卓越的性能和完善的文檔。

37,Ubik   

     Ubik是C# 2.0下的ORM持久層框架,當前是WinForms應用程序開發提供的.它支持OPath的子集而可以進行面向對象查詢,且包含一個網絡事件系統.

38,NDal    

     NDal是一個數據提取層(DAL)框架,它可以運行在.NET和Mono環境下。

39,Persist.NET    

     Persist.NET是C#編寫的一款完整的持久層框架。

40,ObjectBroker    

     ObjectBroker是.NET平臺下的數據庫對象/關係映射(O/R Mapping)框架。

41,iBATIS.NET    

    iBATIS.NET幫助你的應用系統創建更好的持久層框架。

42,Advanced Data Provider    

     Advanced Data Provider是爲ADO.NET提供的動態數據提供者 。可以讓應用程序透明的訪問不同的ADO.NET 數據提供者。

43,OJB.NET    

     OJB.NET是一款.NET平臺下的對象/關係映射(O/R Mapping)工具。

 

================圖表製作================

44,ZedGraph    

    ZedGraph是C#編寫的.NET類庫,提供了用戶控件和web控件。它可以創建2D的線性圖、條形圖和餅圖。它功能完整且有詳細的功能自定義,不過使用默認的選項就足夠好用了。

45,.NET Charts    

     一款類似 PieChart, StackBar, LineChart的C#開源圖表組件。

46,NPlot   

    NPlot是一款.NET下的開源圖表類庫.它值得稱道的地方是優雅且靈活的API設計.NPlot包含了Windows Form控件, ASP.NET控件和一個創建Bitmap圖片的類。還有一個可用的GTK#控件。

47,XSCharting    

    XSCharting是C#開發的圖表組件,提供了多種多樣的圖表選項。

48,DaveChart   

    DaveChart是一個免費的DotNet類庫。

49,NChart    

    NChart 提供了很多值得應用在商業,教育等多個領域的2 D圖表。

================WebGis================

50,SharpMap    

    SharpMap是一款易於使用的地圖渲染器,它可以爲Web和Windows應用程序渲染GIS數據。SharpMap是使用C#編寫,基於.NET 2.0框架上開發的開源項目。

51,monoGIS   

    monoGIS將成爲Mono平臺下的開源完整GIS。已經發布了internet mapserver,OGC WMS實現和一些工具像空間格式轉換。

52,NASA World Wind    

    NASA World Wind 是C#開發的個人電腦上的開源的3D圖形虛擬地球系統。它結合了美國國家航空航天局(NASA)從衛星拍攝的圖像,這些圖像應用於Blue Marble, Landsat 7, SRTM, MODIS 以及其它更多的地方。

================ASP.NET================

53,SignalR

ASP.NET SignalR 是爲 ASP.NET 開發人員提供的一個庫,可以簡化開發人員將實時 Web 功能添加到應用程序的過程。當WebSockets可用時(即瀏覽器支持Html5)SignalR使用WebSockets,當不支持時SignalR將使用其它技術來保證達到相同效果。SignalR 將與客戶端進行實時通信帶給了ASP .NET 。當然這樣既好用,而且也有足夠的擴展性。以前用戶需要刷新頁面或使用Ajax輪詢才能實現的實時顯示數據,現在只要使用SignalR,就可以簡單實現了。

github地址: https://github.com/SignalR/SignalR

54,SparkleShare

SparkleShare是一個共享開源代碼的工具,它設計的目標就是讓共享代碼變得更加簡單而不是你先前習慣的樣子。它允許你實時的同步Git庫,對於Linux、Mac和Windows都是是可用的。

github地址: https://github.com/hbons/SparkleShare

55,mono

第三方的跨平臺的.NET運行環境,在微軟的.net框架還只支持WIN平臺的時候,mono就已經開始支持Unix, Windows, MacOS甚至IOS,安卓等操作系統了。

Mono由Novell公司(由Ximian發起,並由Miguel de lcaza領導的,一個致力於開創.NET在Linux上使用的開源工程。它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫,並實現了 ADO NET和ASP NET。能夠使得開發人員在Linux用C#開發程序。)主持的項目.該項目的目標是創建一系列符合標準ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #編譯器和共同語言(CL 即 Common Language)執行平臺(Platform).與微軟的.Net不同, Mono項目不僅可以運行於Windows系統內,還可以運行於Linux, FreeBSD, Unix, Mac OS X和Solaris。

github地址: https://github.com/mono/mono

56,ServiceStack

ServiceStack 是能同時運行於 .Net 和 Mono 上的開源web框架,它是開發 Web 服務與 Web 應用的有力替代品:

包含高性能 Razor Engine 的 Web 應用框架

支持例如 HTML,XML,JSON,SOAP 等多種格式的基於消息的 Web 服務框架

包含內建 IOC 的容器

若干內建庫文件,諸如:Text serializer,Redis Client,ORM 以及 caching providers

除了 ASP.NET Hosting 和 Mono Hosting 之外,還包含 self-hosting 選項

github地址: https://github.com/ServiceStack/ServiceStack

57,Nancy

Nancy是一個輕量,高效的基於http 服務的框架,它能用來快迅而優雅的處理DELETE,GET,POST,OPTIONS,POST,PUT與PATCH請求。讓開發者更加專注於其它業務及更重要的內容。 同樣。Nancy能同時運行於.NET與MONO平臺。

github地址: https://github.com/NancyFx/Nancy

58,AutoMapper

AutoMapper是一個簡單的類庫,用於解決對象與代碼之間的映射關係。主要用途爲領域對象與DTO之間的轉換、數據庫查詢結果映射至實體對象。用官方的話講:

AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?

github地址: https://github.com/AutoMapper/AutoMapper

59,Psychson

pushsharp是一個可以給實現給包括iOS、Android和Windows Phone及Blackberry多種操作系統的App應用推送消息通知的開源C#庫。它同時兼容Mono框架。

github地址: https://github.com/adamcaudill/Psychson

60,RestSharp

RestSharp是一個開源的.NET平臺下REST和Http API的客戶端庫,支持的平臺有.NET 3.5/4、Mono、Mono for Android、MonoTouch、Windows Phone 7.1 Mango。他可以簡化我們訪問Restful服務

github地址: https://github.com/restsharp/RestSharp

61,apper-dot-net

dapper-dot-net是一個超輕量型的ORM開源框架,對象關係映射(英語:Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術,用於實現面向對象編程語言裏不同類型系統的數據之間的轉換。從效果上說,它其實是創建了一個可在編程語言裏使用的“虛擬對象數據庫”。dapper超級輕小,簡便,運行速度很快。贏得了很多開發者的喜歡(推薦大家看看)。

github地址: https://github.com/StackExchange/dapper-dot-ne

62,Opserver

Opserver是聞名遐邇的網站Stack Overflow的開源監控解決方案,由Stack Exchange發佈。它基於.NET框架構建,這在監控工具領域有些與衆不同。 旨在爲每個受監控系統的健康狀況提供一個快速的總體視圖,還允許用戶使用下鑽方法進行深入挖掘。

github地址: https://github.com/StackExchange/dapper-dot-ne

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章