使用.NET平台開發有段時間了,在網上資料的基礎上做了進一步整理,匯集了.NET平台常見的技術框架。
參考資料:
基於.NET平台常用的框架整理
.NET開源框架列表
1.知識網絡

2.分類清單
2.1.分布式緩存框架
2.2.應用框架
2.3.日志記錄異常處理
名稱 |
說明 |
地址 |
Log4Net |
輕量級的免費開源.NET日志記錄框架。 |
|
Enterprise Library Log Application Black |
微軟企業庫日志記錄。 |
|
Elmah |
實現最流行的ASP.NET應用異常日志記錄框架。 |
|
NLog |
簡單靈活的日志記錄類庫,性能比Log4Net高,使用和維護難度低。 |
|
Essential Diagnostics |
為內置System.Diagnostics 命名空間擴展功能,提供更靈活的日志功能。官網 |
|
Logary |
mono 和 .Net 平台下高性能、多目標的日志、度量、追蹤和健康檢查庫。支持多目標,為微服務構建。 |
|
StackExchange.Exceptional |
Stack Exchange 網絡使用的錯誤處理程序。 |
|
Semantic Logging Application Block (SLAB) |
為內置 System.Diagnostics.Tracing 命名空間(EventSource類)擴展功能,支持將日志記錄到多個容器中,包括 Azure 表存儲、數據庫、文件(JSON、XML、文本文件)。通過 ETW 支持進程內和進程外的日志記錄,支持 Rx 進行實時的事件過濾和聚合。 |
|
Exceptionless |
費開源分布式系統的日志收集框架,它可以應用在基於 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技術棧的應用程序中,並且提供了Rest接口可以應用在 Javascript,Node.js 中。 |
|
2.4.NoSQL數據庫
名稱 |
說明 |
地址 |
Mongodb |
分布式文件存儲數據庫。 |
|
Membase |
家族的一個新的重量級的成員 |
|
2.5.自動任務調度框架
名稱 |
說明 |
地址 |
Quartz.NET |
開源的作業調度和自動任務框架。 |
|
Topshelf |
另一種創建Windows服務的開源框架 |
|
2.6.依賴注入IOC容器框架
名稱 |
說明 |
地址 |
Unity |
微軟patterns&practicest團隊開發的IOC依賴注入框架,支持AOP橫切關注點。 |
|
MEF(Managed Extensibility Framework) |
是一個用來擴展.NET應用程序的框架,可開發插件系統。 |
|
Spring.NET |
依賴注入、面向方面編程(AOP)、數據訪問抽象,、以及ASP.NET集成。 |
|
Autofac |
最流行的依賴注入和IOC框架,輕量且高性能,對項目代碼幾乎無任何侵入性。 |
|
PostSharp |
實現靜態AOP橫切關注點,使用簡單,功能強大,對目標攔截的方法無需任何改動。 |
|
Ninject |
基於.NET輕量級開源的依賴注入IOC框架 |
|
2.7.ORM框架
名稱 |
說明 |
地址 |
EF(ADO.NET Entity Framework) |
微軟基於ADO.NET開發的ORM框架。 |
|
Nhibernate |
面向.NET環境的輕量級的ORM框架。 |
|
SqlMapper.cs |
用於小項目的通用的C#數據庫訪問類。 |
|
AutoMapper |
流行的對象映射框架,可減少大量硬編碼,很小巧靈活,性能表現也可接受。 |
|
SubSonic |
優秀的開源的ORM映射框架,同時提供符合自身需要的代碼生成器。 |
|
FluentData |
開源的基於Fluent API的鏈式查詢ORM輕量級框架。 |
|
Dapper |
輕量級高性能基於EMIT生成的ORM框架。 |
|
EmitMapper |
性能較高的ORM框架,運行時通過EMIT動態生成IL代碼,並非采用反射機制。 |
|
2.8.格式和數據類型轉換
名稱 |
說明 |
地址 |
Newtonsoft.Json |
目前.NET開發中最流行的JSON序列化庫,為新版的WebApi庫提供基礎。 |
|
System.JSON.dll |
微軟自己開發的JSON序列化組件(需要單獨下載) |
|
DataContractJsonSerializer 和 DataContractXmlSerializer |
微軟在WCF中使用的序列化器。 |
|
JavaScriptSerializer |
微軟默認針對WEB開發者提供的JSON格式化器。 |
|
iTextSharp、PDFsharp 和 PDF.NET |
通過.NET處理和生成PDF文檔的組件。 |
|
SharpZipLib.dll |
免費開源的ZIP和GZIP文件解壓縮組件。 |
|
Math.NET |
強大的數學運算、微積分、解方程和科學運算。 |
|
DocX |
不需要安裝word軟件,通過C#操作word文件。 |
|
SharpSerializer |
開源XML和、二進制、JSON、壓縮和優化框架。 |
|
2.9.反射和動態語言
名稱 |
說明 |
地址 |
Clay dynamic |
開源的動態語言dynamic框架讓您形如javascript的方式創建對象。 |
|
ExposedObject |
在類的外部通過動態語言dynamic的方式訪問私有成員。 |
|
PrivateObject |
微軟單元測試框架中便捷在外部調用類內部私有成員的一個類。 |
|
2.10.跨平台和運行時解決方案
名稱 |
說明 |
地址 |
MONO.NET |
跨平台的.NET運行環境,讓.NET跨平台運行成為可能。 |
|
DotGnu Portable.NET |
類似於MONO.NET的跨平台運行時。 |
|
Phalanger |
將PHP編譯成.NET,可實現PHP與.NET互操作。 |
|
VMDotNet |
中國移動飛信所使用過的.NET運行時。 |
|
Unity3D |
微軟大力支持的機遇C#和JavaScript的跨平台游戲開發框架。 |
|
Cassini、IIS Express和Cassinidev |
開源的ASP.NET執行環境。 |
|
Katana |
微軟基於OWIN規范實現的非IIS寄宿ASP.NET和MVC等。 |
|
IKVM.NET |
基於.NET的JAVA虛擬機,讓JAVA運行在.NET之上。 |
|
2.11.WEB開發和設計
名稱 |
說明 |
地址 |
Jumony Core |
基於.NET開發的HTML引擎。 |
|
Microsoft.mshtml.dll、Winista.HtmlParser.dll 和 HtmlAgilityPack.dll |
解析處理HTML文檔的框架。 |
|
JavaScript.NET和ClearScript(微軟出品) |
基於.NET開發的JavaScript引擎。 |
|
NCrawler |
其HTML處理引擎htmlagilitypack的的開源網絡爬蟲軟件。 |
|
AntiXSS |
微軟官方預防跨站XSS腳本入侵攻擊的開源類庫,它通過白名單機制進行內容編碼。 |
|
YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure Compiler |
JavaScrip和CSS壓縮器。 |
|
NancyFx |
是一個不錯的輕量級開源.NET WEB框架。如果想快速做個簡單的WEB應用。 |
|
AspNetPager |
國內知名的ASP.NET分頁控件,支持多種分頁方式。 |
|
NOPI |
導出Excel報表的插件(基於微軟OpenXml實現)(nopi.css.dl通過css設置樣式) |
|
Enterprise Library |
微軟針對企業級應用開發的最佳實踐組件。 |
|
PowerCollections |
國外一個牛人寫的高級開源集合。 |
|
2.12.移動互聯網和雲計算
名稱 |
說明 |
地址 |
PushSharp |
通過.NET向各種移動平台推送消息。 |
|
mono for android |
用.NET語言開發安卓應用 |
|
MonoTouch |
用.NET語言開發IOS應用。 |
|
PhoneGap和AppCan |
跨平台基於HTML5的移動開發平台。 |
|
Cordova |
PhoneGap貢獻給Apache后的開源項目,是驅動PhoneGap的核心引擎。 |
|
2.13.網絡通信和網絡協議
名稱 |
說明 |
地址 |
SuperSocket |
基於.NET輕量級的可擴展的Socket開發框架。 |
|
SuperWebSocket |
通過.NET實現TML5 WebSocket框架。 |
|
XProxy |
支持插件的基礎代理程序集,內置NAT、加解密、反向、直接和間接代理。 |
|
2.14.圖形和圖像處理框架
名稱 |
說明 |
地址 |
Paint.NET |
基於.NET小巧靈活強大的圖形處理開源項目。 |
|
Imagemagick.NET |
用C#對開源圖像處理組件Imagemagick的封裝。 |
|
Skimpt |
基於.NET開源的屏幕截圖軟件。 |
|
ImageGlue.NET |
商業的圖像處理組件,支持的格式列了一大堆。 |
|
Sprite and Image Optimization Framework |
微軟CSS精靈,多圖合成一張大圖和CSS樣式。 |
|
2.15.桌面應用程序框架
名稱 |
說明 |
地址 |
DevExpress |
一個全球知名的桌面應用程序UI控件庫。 |
|
Prism |
微軟開發的針對WPF和Silverlight的MVVM框架,通過功能模塊化的思想,來講復雜的業務功能和UI耦合性進行分離。 |
|
WPFToolkit 和 Fluent Ribbon Control Suite |
開發類似於Office風格的Ribbon菜單。 |
|
MVVMLight |
輕量級MVVM框架,適用於WPF和Silverlight |
|
Caliburn.MIcro |
針對XML標簽語言的MVVM框架,支持智能匹配 |
|
2.16.測試和性能評估
名稱 |
說明 |
地址 |
Faker.Net |
方便生成大批量測試數據的框架。 |
|
Nunit |
一個輕量級的單元測試框架。 |
|
Moq |
非常流行的Mock框架,支持LINQ,靈活且高性能。 |
|
xUnit |
比NUnit更好的單元測試框架,升級改進版的Nunit框架。 |
|
MiniProfiler和Glimpse |
基於MVC的兩款性能事件監控框架。 |
|
2.17.事務和分布式事務支持
名稱 |
說明 |
地址 |
KtmIntegration |
一個支持NTFS文件系統的事務開源類。 |
|
NET Transactional File Manager |
對文件系統操作(復制、移動和刪除)加入事務支持。 |
|
2.18.分詞、全文檢索和搜索引擎
名稱 |
說明 |
地址 |
Lucene.net |
流行高性能的全文索引庫,可用於為各類信息提供強大的搜索功能。 |
|
Lucene.Net.Analysis.PanGu |
支持Lucene.Net最新版的盤古中文分詞擴展庫。 |
|
2.19.數據驗證組件整理
名稱 |
說明 |
地址 |
FluentValidation for .NET |
基於LINQ表達式方法鏈Fluent接口驗證組件。 |
|
Microsoft.Practices.EnterpriseLibrary.Validation |
微軟企業庫驗證程序塊。 |
|
CuttingEdge.Conditions |
基於Fluent接口方法練接口的契約編程組件。 |
|
DotNetOpenAuth |
讓網站具備支持OpenID、OAuth、InfoCard等身份驗證的能力。 |
|
2.20.圖表統計控件
名稱 |
說明 |
地址 |
Visifire |
一套效果非常好的WPF圖表控件,支持3D繪制、曲線、折線、扇形、環形和梯形。 |
|
SparrowToolkit |
一套WPF圖表控件集,支持繪制動態曲線,可繪制示波器、CPU使用率和波形。 |
|
DynamicDataDisplay |
微軟開源的WPF動態曲線圖,線圖、氣泡圖和熱力圖。 |
|
LiveCharts |
WPF圖表控件庫 |
|
2.21.消息隊列
名稱 |
說明 |
地址 |
Kafka |
一種分布式的,基於發布/訂閱的消息系統。高吞吐率。支持Kafka Server間的消息分區,及分布式消費。同時支持離線數據處理和實時數據處理。支持在線水平擴展。 |
|
RabbitMQ |
使用Erlang編寫的開源消息隊列,支持AMQP,XMPP, SMTP, STOMP等協議。重量級,更適合於企業級的開發。實現了Broker構架,在發送給客戶端時先在中心隊列排隊。對路由,負載均衡或者數據持久化都有很好的支持。 |
|
Redis |
基於Key-Value對的NoSQL數據庫,支持MQ功能,可以當做一個輕量級的隊列服務來使用 |
|
ZeroMQ |
號稱最快的消息隊列系統,尤其針對大吞吐量的需求場景。ZeroMQ能夠實現RabbitMQ不擅長的高級/復雜的隊列。ZeroMQ具有一個獨特的非中間件的模式,你不需要安裝和運行一個消息服務器或中間件,因為你的應用程序將扮演這個服務器角色。僅提供非持久性的隊列,如果宕機,數據將會丟失。 |
|
ActiveMQ |
Apache下的一個子項目。 類似於ZeroMQ,它能夠以代理人和點對點的技術實現隊列。同時類似於RabbitMQ,它少量代碼就可以高效地實現高級應用場景。 |
|
Kafka/Jafka |
Kafka是Apache下的一個子項目,是一個高性能跨語言分布式發布/訂閱消息隊列系統,而Jafka是Kafka的一個升級版。快速持久化;高吞吐;完全的分布式系統,自動實現負載均衡;支持Hadoop數據並行加載。 |
|
2.22.人工智能
2.23.認證及授權
名稱 |
說明 |
地址 |
ASP.NET Identity |
用於 ASP.NET 應用程序的新身份系統 |
|
DotNetOpenAuth |
OpenID、OAuth 和 InfoCard 協議的一個 C# 實現 |
|
IdentityModel |
.NET 4.5 和 MVC4、Web API 身份和訪問控制的輔助庫 |
|
IdentityServer |
可擴展的 OAuth2 和 OpenID 連接提供程序框架。 |
|
OAuth |
超輕量級 OAuth 1.0a 簽名生成庫,C# 編寫。 |
|
2.24.機器學習和數據科學
名稱 |
說明 |
地址 |
Accord.NET |
機器學習框架,包含了音頻和圖像處理的庫(計算機視覺、計算機聽覺、信號處理和統計)。 |
|
Accord.NET Extensions |
高級圖像處理和計算機視覺算法擴展 |
|
AForge.NET |
為計算機視覺和人工智能領域的開發者和研究人員提供的框架(包括圖像處理、神經網絡、遺傳算法、機器學習、機器人科學)。 |
|
Deedle |
處理探索性數據的數據幀和時序庫,支持 C# 和 F#。 |
|
FsLab |
數據科學和機器學習庫的集合,支持 F# 和 .NET。 |
|
numl |
包含最流行的監督學習和無監督學習算法,盡量減少創建預測模型時的沖突。 |
|
以上為.NET平台常用框架,能力有限,如有遺漏或不足支持,還望海涵!