.NET平台常見技術框架整理匯總


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

基於.NET平台常用的框架整理
.NET開源框架列表

1.知識網絡

在這里插入圖片描述

2.分類清單

2.1.分布式緩存框架

名稱 說明 地址
Windows Server AppFabric 微軟自家分布式緩存服務框架, 擴展了 Windows Server 為 Web 應用程序和中間層服務提供增強的托管、管理和緩存功能 https://www.microsoft.com/en-us/download/details.aspx?id=27115
Memcahed 高性能的分布式內存對象緩存系統。它基於一個存儲鍵/值對的hashmap,通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。 http://memcached.org/
Redis 使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日志型、Key-Value數據庫,並提供多種語言的API https://redis.io/
NCache 基於NGINX的Web服務器構建起來的緩存系統,適用於需要快速部署、大並發量、大存儲量的需求 http://www.alachisoft.com/ncache/

2.2.應用框架

名稱 說明 地址
ASP.NET Boilerplate 基於領域驅動的開源Web開發框架 https://www.aspnetboilerplate.com
Orchard 國外一個MVC開源的博客系統。  
DasBlog 國外一個基於ASP.NET的博客系統  
BlogEngine.NET 國外一款免費開源的博客系統。  
Dotnetnuke.NET 一套非常優秀的基於ASP.NET的開源門戶網站程序。  
Discuz.NET 國內開源的論壇社區系統。  
nopCommerce和Aspxcommerce 國外一套高質量的開源B2C網站系統。  
DTCMS 國內兩款開源的網站管理系統  

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.NETASP.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.人工智能

名稱 說明 地址
AIMLBot 基於人工智能標記語言的聊天機器人,小型、快速、兼容標准、易於定制 http://aimlbot.sourceforge.net/
SIML Systhetic Intelligence Markup Language,智能綜合標記語言,聊天機器人及數字語音助手 https://simlbot.com/

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平台常用框架,能力有限,如有遺漏或不足支持,還望海涵!

 

 


免責聲明!

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



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