這些 .Net and Core 相關的開源項目,你都知道嗎?(持續更新中...)


最近更新時間2017-12-28

序列化

Json.NET

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

 

fastJSON

http://www.codeproject.com/Articles/159450/fastJSON

fastJSON是一個輕量級且高性能的JSON序列化器,因為它編譯后的大小只有25 kb。具體性能測試請參照上面的項目地址。

由園友 TimYang 分享

 

SharpSerializer 

http://sharpserializer.codeplex.com/

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

 

表達式數學運算

Math.NET

http://www.mathdotnet.com/

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

 

NCalc

http://ncalc.codeplex.com/

NCalc是一個開源的表達式計算組件,支持數學表達式計算,還支持很多基礎的數學函數,支持參數,以及支持邏輯運算符號。

 

測試

NSubstitute

https://github.com/nsubstitute/NSubstitute

NSubstitute 更注重替代(Substitute)概念。它的設計目標是提供一個優秀的測試替代的.NET模擬框架。它是一個模擬測試框架,用最簡潔的語法,使得我們能夠把更多的注意力放在測試工作,減輕我們的測試配置工作,以滿足我們的測試需求,幫助完成測試工作。

 

Faker.Net

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

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

 

Html解析器

Html Agility Pack

http://htmlagilitypack.codeplex.com/

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

 

Jumony 

https://github.com/Ivony/Jumony 

Jumony是一個開源項目,秉承提供給.NET程序員完整的HTML掌控能力,Jumony歷經無數次的改進,終於進入了一個新的階段。一個非常棒的HTML解析利器。 

由園友 Ivony 開發 

由園友 文楚 分享

 

網絡通信以及協議

SuperWebSocket

http://superwebsocket.codeplex.com/

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

 

SuperSocket 

http://supersocket.codeplex.com/

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

 

RestSharp 

https://github.com/restsharp/RestSharp 

RestSharp是一個輕量的、簡單易用的,不依賴任何第三方組件或者類庫的Http組件,支持序列化、授權驗證、異步操作等。

 

HttpLib 

 http://httplib.codeplex.com/ 

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

 

全文搜索/檢索

Lucene.Net

http://lucenenet.apache.org/

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

 

HubbleDotNet 

http://hubbledotnet.codeplex.com/

HubbleDotNet 是一個基於.net framework 的開源免費的全文搜索引擎組件。開源協議是 Apache 2.0。HubbleDotNet提供了基於SQL的全文檢索接口,使用者只需會操作SQL,就可以很快學會使用HubbleDotNet進行全文檢索。HubbleDotNet可以實現全文索引和查詢、多域檢索和排序、分組統計、消重、分類、聚類、多表關聯查詢等等一系列全文檢索和數據挖掘功能。 HubbleDotNet提供開放的數據庫適配器接口,可以和各種數據庫完美整合,為各種數據庫系統附加全文檢索和數據挖掘功能。 HubbleDotNet設計了較為完善的並發控制程序,數據的增刪改查可以多線程同時並發進行,沒有任何沖突。HubbleDotNet還進行了緩存和 內存管理設計,可以幫助用戶最大限度的提高查詢的效率。

由園友 freexiaoyu 分享

 

文件操作 

DocX

https://docx.codeplex.com/

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

 

NPOI

http://npoi.codeplex.com/
https://github.com/tonyqus/npoi

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

 

Epplus

http://epplus.codeplex.com/

Epplus是一個使用Open Office XML(Xlsx)文件格式,能讀寫Excel 2007/2010文件的開源組件。支持對excel文檔的匯入匯出,圖表(excel自帶的圖表基本都可以實現)的列印。

 

PDFsharp

https://pdfsharp.codeplex.com/

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

 

.NET Transactional File Manager 

http://transactionalfilemgr.codeplex.com/ 

對文件系統操作,比如copy, move, delete ,加入事務支持。 

由園友 flyingfz 分享 

 

數據訪問框架/ORM

ADO.NET Entity Framework

http://entityframework.codeplex.com/
http://msdn.microsoft.com/zh-cn/data/ef.aspx

ADO.NET Entity Framework 是微軟以 ADO.NET 為基礎所發展出來的對象關系對應 (O/R Mapping) 解決方案,早期被稱為 ObjectSpace。實體框架 (EF) 是一種對象關系映射機制,支持 .NET 開發人員使用域特定對象來處理關系數據。它消除了對開發人員通常需要編寫的大部分數據訪問代碼的需求。

由園友 C++++ 小王子. 分享 

 

Dapper

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

Dapper是一個輕型的高性能ORM。支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的數據庫。

 

NHibernate

https://github.com/nhibernate

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

 

PetaPoco

http://nuget.org/List/Packages/PetaPoco
https://github.com/toptensoftware/petapoco
http://www.toptensoftware.com/petapoco/ 

PetaPoco是一款能夠在.Net 和Mono環境下使用的微小、快速、單文件的微型ORM。支持簡單的事務,支持參數替換等等。性能也十分出眾!

由園友 {name:"代碼屠夫"} 分享

 

日志記錄

log4net

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

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

NLog 

https://github.com/NLog/NLog
http://nlog-project.org 

NLog是一個簡單靈活的.NET日志記錄類庫。通過使用NLog,我們可以在任何一種.NET語言中輸出帶有上下文的(contextual information)調試診斷信息,根據喜好配置其表現樣式之后發送到一個或多個輸出目標(target)中。

 

Exceptionless

https://github.com/exceptionless/Exceptionless
Exceptionless 是一個免費開源的實時的日志收集框架,支持分布式系統,它可以應用在基於 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技術棧的應用程序中,並且提供了Rest接口可以應用在 Javascript,Node.js 中。它將日志收集變得簡單易用並且不需要了解太多的相關技術細節及配置。

 

異常或錯誤處理

Polly

https://github.com/App-vNext/Polly
Polly是一款基於.NET的彈性及瞬間錯誤處理庫, 它允許開發人員以順暢及線程安全的方式執行重試(Retry),斷路器(Circuit),超時(Timeout),隔板隔離(Bulkhead Isolation)及后背策略(Fallback)。

 

網站系統

nopCommerce

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

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

 

Kooboo CMS

http://www.kooboo.com/
https://github.com/kooboo

一款開源的企業級內容管理系統,基於ASP.NET MVC,可以用來很方便創建多語言站點等。

由園友 風情波涌 分享

 

IOC框架

Autofac

http://autofac.org/

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

 

Ninject 

https://github.com/ninject

Ninject是一個快如閃電、超輕量級的基於.Net平台的依賴注入框架。它能夠幫助你把應用程序分離成一個個松耦合、高內聚的模塊,然后用一種靈活的方式組裝起來。通過使用Ninject配套你的軟件架構,那么代碼將會變得更加容易編寫、重用性強、易於測試和修改。

 

對象映射/Mapper

AutoMapper

https://github.com/AutoMapper/AutoMapper

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

 

TinyMapper 

https://github.com/TinyMapper/TinyMapper 

Tiny Mapper是一個.net平台開源的對象映射組件,性能極其強悍。 

 

圖形圖像

GMap.NET

http://www.cggh.org/
http://greatmaps.codeplex.com/

GMap.NET 是一個強大、免費、跨平台、開源的.NET控件,它在Windows Forms 和WPF環境中能夠通過Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等實現尋找路徑、地理編碼以及地圖展示功能,並支持緩存和運行在Mobile環境中。GMap.NET 是一個開源的GEO地圖定位和跟蹤程序。就像谷歌地圖、雅虎地圖一樣,可以自動計算兩地的距離,定位經緯度,與Google地圖不同的是,該項目是建立在C#語言WinForm基礎上的。可以對地圖放大縮小,進行城市標記等。

由園友 阿凡盧 分享

 

ZXing.Net

http://zxingnet.codeplex.com/

ZXing.Net支持解碼並生成條碼庫(如QR碼,PDF 417, EAN, UPC, Aztec, 二維條碼, 庫德巴條碼)。

由園友 朱京輝 分享

 

web相關的框架

Nancy

http://nancyfx.org/

.NET的微型Web框架 Nancy 是一個基於 .NET 和 Mono 平台用於構建輕量級基於 HTTP 的 Web 服務。Nancy 設計用於處理 DELETEGETHEADOPTIONSPOSTPUT 和 PATCH 等請求方法,並提供簡單優雅的 DSL 以返回響應。

由園友 {name:"代碼屠夫"} 分享

 

ASP.NET MVC

http://www.asp.net/

ASP.NET MVC 是微軟官方提供的以MVC模式為基礎的ASP.NETWeb應用程序(Web Application)框架,它由Castle的MonoRail而來 。

由園友 C++++ 小王子. 分享

 

快速開發框架

ASP.NET Boilerplate Project(ABP)

https://aspnetboilerplate.com/

https://github.com/aspnetboilerplate/aspnetboilerplate

ABP是“ASP.NET Boilerplate Project (ASP.NET樣板項目)”的簡稱。
ASP.NET Boilerplate是一個用最佳實踐和流行技術開發現代WEB應用程序的新起點,它旨在成為一個通用的WEB應用程序框架和項目模板。包含了授權,依賴注入,驗證,異常處理,本地化,日志記錄,緩存等常用功能。

 

Enterprise Library

https://entlib.codeplex.com/

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

 

wojilu 我記錄

http://www.wojilu.com/framework/
https://github.com/wojilu/wojilu

“我記錄”開發框架(wojilu framework) 是 .net 平台下的綜合開發框架,主要用於 web 方面的快速開發。包含一個持久層框架 wojilu ORM,一個依賴注入框架 wojilu IOC,一個Web開發框架 wojilu MVC(包括驗證碼控件、帶進度條上傳等),一個輕量級模板引擎 wojilu template,一個日志類庫 wojilu logger等等。 

由園友 {name:"代碼屠夫"} 分享

 

其他開源項目

NCrawler

http://ncrawler.codeplex.com/

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

 

Quartz.NET

http://www.quartz-scheduler.net/
https://github.com/quartznet/quartznet

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

 

Smart Thread Pool

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

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

 

XProxy

http://xproxy.codeplex.com/

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

 

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% 。 SevenZipSharp 是一個基於7-Zip的開源項目,實現了自解壓和壓縮等所有7-ZIP支持的格式,並且改進了7-Zip動態鏈接庫的C#接口的一些方法.

 

ILSpy

http://ilspy.net/
https://github.com/icsharpcode/ILSpy

ILspy是一個開源的.net反編譯軟件,使用十分方便。之所以開發ILspy是因為Red Gate宣布免費版的.NET Reflector(同樣是反編譯軟件)將會在2011年2月停止。所以愛好免費軟件的開發者們轉而開發自己的反編譯軟件。於是ILspy就因運而生了。

由園友 默の帕布 分享

 

SharpDevelop

http://www.icsharpcode.net/

SharpDevelop是個自由的開放源代碼集成開發環境,主要用來開發支持.NET Framework的C#,Visual Basic .NET(VB.NET)與BOO等編程語言。它可以用來作為MicrosoftVisual Studio .NET的替代品,使用自己的C#、Visual Basic .NET解析器來進行代碼自動完成

由園友 C++++ 小王子. 分享

 

thrift

http://thrift.apache.org/
thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發。它結合了功能強大的軟件堆棧和代碼生成引擎,以構建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 這些編程語言間無縫結合的、高效的服務。

 


以上開源項目僅僅只是博主個人的孤陋寡聞,我想諸位高端大氣上檔次的博友肯定還有很多熟知並值得分享的開源項目,如果您願意分享您所知道的開源項目,請在本文下方的評論中寫出,博主將在第一時間更新到本篇博文中!

希望此篇博文增長了您的知識點或者給您帶來了幫助和收獲。另外,博主自知才疏學淺,技術很渣,如若有不妥之處,還請不吝賜教! 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM