.NET體系
.net core
.net 類庫
asp.net mvc
asp.net webapi
asp.net core
EF
跨平臺和運行時解決方案(解決方案)
Katana:微軟基于OWIN規范實現的非IIS寄宿ASP.NET和MVC等。
MONO.NET:跨平臺的.NET運行環境,讓.NET跨平臺運行成為可能。
Unity3D:微軟大力支持的機遇C#和JAVAScript的跨平臺游戲開發框架。
Cassini、IIS Express和Cassinidev:開源的ASP.NET執行環境。
IKVM.NET:基于.NET的JAVA虛擬機,讓JAVA運行在.NET之上。
Enterprise Library:微軟針對企業級應用開發的最佳實踐組件。
架構思想框架
PetShop:微軟ASP.NET寵物商店。 分層思想的代表
ABP: ASP.NET Boilerplate Project (ASP.NET樣板項目) 。 領域驅動思想代表
eShopOnContainers:微服務架構和Docker容器的一個簡單的.Net Core的應用。微服務思想代表
依賴注入IOC容器框架(解耦)
Unity:微軟patterns&practicest團隊開發的IOC依賴注入框架,支持AOP橫切關注點。
Spring.NET:依賴注入、面向方面編程(AOP)、數據訪問抽象,、以及ASP.NET集成。
Autofac:最流行的依賴注入和IOC框架,輕量且高性能,對項目代碼幾乎無任何侵入性。
Ninject:基于.NET輕量級開源的依賴注入IOC框架
數據訪問和ORM框架(數據訪問層,持久化層)
EF(ADO.NET Entity Framework):微軟基于ADO.NET開發的ORM框架。
DApper:輕量級高性能基于EMIT生成的ORM框架。
EmitMapper:性能較高的ORM框架,運行時通過EMIT動態生成IL代碼,并非采用反射機制。
FluentData:開源的基于Fluent API的鏈式查詢ORM輕量級框架。
SqlMapper.cs:用于小項目的通用的C#數據庫訪問類。
SqlHelper.cs:用于小項目的通用的C#數據庫訪問類。
EnterpriseLibray:微軟企業庫,特點是快速開發,融合了微軟工程師多年的經驗。
Nhibernate:面向.NET環境的輕量級的ORM框架。
數據間格式轉換
Newtonsoft.Json:目前.NET開發中最流行的JSON序列化庫,為新版的WebApi庫提供基礎。
AutoMapper:流行的對象映射框架,可減少大量硬編碼,很小巧靈活,性能表現也可接受。
實體類和DataTable的轉換 :反射,表達式樹,emit三種中,三選一。
redis和數據連接驅動框架
ServiceStack.Redis:
StackExchange.Redis:
csredis:
MySQL Connector:完全托管的 MySQL ADO.NET 數據庫提供程序、連接器
中間件與消息隊列
RabbitMQ.NET:AMQP 客戶端的 C# 實現
NServiceBus:.NET 平臺下最流行的服務總線
全文搜索和爬蟲框架
Lucene.net:流行高性能的全文索引庫,可用于為各類信息提供強大的搜索功能。
Elasticsearch.Net:操作ES
日志記錄框架
Log4Net.dll:輕量級的免費開源.NET日志記錄框架。
NLog:是一個簡單靈活的日志記錄類庫,性能比Log4Net高,使用和維護難度低。
任務計劃調度
Quartz.NET:開源的作業調度和自動任務框架。
辦公系列框架(文檔操作)
NPIO.dll:該項目是 .NET 版本的 POI 項目,原始的 Java 版本位于http://poi.Apache.org/ 。
DocX:不需要安裝word軟件,通過C#操作word文件。
Open XML SDK:Open XML SDK 是一個開源庫,用于處理 Open XML 文檔
ITextSharp:iText 是一個PDF庫,用于創建、修改、檢查和維護 (PDF)格式的文檔
語法解析和模板引擎(Template Engine)
RazorEngine:基于微軟 Razor 解析器引擎的開源模板引擎。官網
Nustache:無邏輯模板的開源庫。官網
DotLiquid:Ruby Liquid 模板語言的 C# 移植版本
MarkdownSharp:C# 實現的開源 Markdown 處理器,在 Stack Overflow 中使用
JavaScript.NET和ClearScript(微軟出品):基于.NET開發的JavaScript引擎
Excss:C# 的 CSS3 解析器開發庫
htmlAgilityPack:一個靈活的 HTML 解析器,可以對 DOM 進行讀寫,支持 XPATH 和 XSLT
通訊框架(網絡)
SignalR:ASP.NET 庫,開發者可以通過它在 web 應用程序中非常簡單地實現實時功能
HelIOS:一套高性能的Socket通信中間件
壓縮框架
SharpZipLib:一個 Zip、GZip、Tar 和 BZip2 的類庫,完全由 C# 編寫,面向 .NET 平臺
安全性框架
OAuth:超輕量級 OAuth 1.0a 簽名生成庫,C# 編寫
ASP.NET Identity:用于 ASP.NET 應用程序的新身份系統。
IdentityServer:可擴展的 OAuth2 和 OpenID 連接提供程序框架
HashLib:HashLib 包含了幾乎所有你見過的哈希算法,它幾乎支持所有東西并且非常容易使用
圖像處理框架
Paint.NET:基于.NET小巧靈活強大的圖形處理開源項目。
NGraphics:NGraphics 是一個 .NET 跨平臺矢量圖形渲染庫
DynamicImage:高性能開源圖片處理庫,用于 ASP.NET
人工智能與數學框架
Math.NET:強大的數學運算、微積分、解方程和科學運算。
Accord.NET:機器學習框架,包含了音頻和圖像處理的庫(計算機視覺、計算機聽覺、信號處理和統計)
移動互聯網和云計算
PushSharp:通過.NET向各種移動平臺推送消息。
mono for Android:用.NET語言開發安卓應用:
MonoTouch:用.NET語言開發IOS應用。
PhoneGap和AppCan:跨平臺基于HTML5的移動開發平臺。
Cordova:PhoneGap貢獻給Apache后的開源項目,是驅動PhoneGap的核心引擎。
桌面程序框架
DevExpress:一個全球知名的桌面應用程序UI控件庫。
Prism:微軟開發的針對WPF和Silverlight的MVVM框架,通過功能模塊化的思想,來講復雜的業務功能和UI耦合性進行分離。
WPFToolkit 和 Fluent Ribbon Control Suite:開發類似于office風格的Ribbon菜單。
測試(Testing)
Faker.Net:方便生成大批量測試數據的框架。
包管理
NuGet:.NET 包管理器。官網
MyGet:為 NuGet、NPM、Bower 和 VSIX 提供程序包倉庫宿主,同樣提供 CI 服務。
Paket:.NET 的一個包依賴管理器,支持 NuGet 包和 GitHub 倉庫。
編譯器和IDE框架
ILSpy:ILSpy 是一個開源的 .NET 程序集查看器和反編譯器
Visual Studio Code:非常棒的編輯器,來自微軟,基于 GitHub Atom
MSBuild也是一個MIT License的開源軟件,可以在Github上看到它的 倉庫 。
Visual Studio 插件
Resharper:Visual Studio 開發人員生產力工具
打包發布和自動構建持續集成和升級框架
Wix Toolset:強大的工具集,用于創建你自己的 windows 安裝程序
Squirrel:Squirrel 即是一套工具也是一個類庫,可以無安全管理 Windows 桌面程序的安裝和更新
MSBuild:微軟構建引擎(MSBuild)是 .NET 和 Visual Studio 的構建平臺
Psake:基于 .NET 的自動化構建工具,使用 PowerShell 編寫
成品應用系統框架
Orchard:國外一個MVC開源的博客,內容管理CMS系統。
技術選型或技術預研
選型考慮三要素:功能性,性能,穩定性
功能性:滿足現在和可預期的未來
性能:考慮現在和未來,明白上限
穩定性:
- 1.主流,團隊中詢問大家用過的多不
- 2.坑少,資料多,千錘百煉
- 3.不要讓本已滿負荷的小小團隊,再去趟雷,你和你的技術團隊有那個實力嗎第一個吃螃蟹。