ASP.NET Core入門學習資源匯總篇幅比較長,分為七個部分。
從2014年11月.NET Core 項目啟動到2016年06月.NET Core 1.0 發布,2020年你真的需要學習.NET Core!
1.什麼是.NET Core?ASP.NET Core是一個由微軟創建的,用於構建Web應用程式,API,微服務的Web框架。它使用常見的模式,例如MVC(模型-視圖-控制器),依賴注入,和一個由中間件構成它基於Apache 2.0許可開放源碼,就是說,源可以自由獲取,並且歡迎社區成員以缺陷修復和新功能提交的方式進行貢獻。
ASP.NET Core在Microsoft的.NET運行時庫上,例如Java的虛擬機(JVM)或Ruby的解釋器。有多種語言(C#,Visual Basic,F#)可以編寫http://ASP.NET Core程序。C#是最常見的選擇,我在書中也會採用它。你可以在Windows,Mac和Linux上進行並發運行http://ASP.NET Core應用。
2 .NET Core的優勢有哪些?跨平臺:可在 Windows、macOS 和 Linux 作業系統上運行。
跨體系結構保持一致:在多個體系結構(包括 x64、x86 和 ARM)上以相同的行為運行代碼。
命令行工具:包括可用於本地開發和持續集成方案中的易於使用的命令行工具。
部署靈活:可以包含在應用或已安裝的並行(用戶或系統範圍安裝)中。可搭配Docker 容器使用。
兼容性:.NET Core 通過 .NET Standard 與 .NET Framework、Xamarin 和 Mono 兼容。
開放原始碼:.NET Core 平臺是開放原始碼,使用 MIT 和 Apache 2 許可證。.NET Core 是一個.NET Foundation 項目。
由 Microsoft 支持:.NET Core 由 Microsoft該項目提供支持。
3. .NET 發展簡介通俗易懂,什麼是.NET?什麼是.NET Framework?什麼是.NET Core?https://www.cnblogs.com/zhangmumu/p/11747980.html
C# 語言版本發展史https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-version-history
.NET Core 1.0 發布了https://www.oschina.net/news/74707/dot-net-core-1-0
.NET Core 3.0 新特性:支持 Windows 桌面應用(windows only)https://www.oschina.net/news/95906/dotnet-core-3-new-features
.NET Core3.1 新特性https://blog.csdn.net/qq_27843785/article/details/103380597
.NET 跨平臺 UI 框架 MAUI終於來了https://blog.csdn.net/kebi007/article/details/106270430
(二)Vistual Studio安裝、調試VS2019安裝教學
https://blog.csdn.net/Wewon_real/article/details/90543591
vs2019企業版密鑰
https://www.cnblogs.com/zhangmumu/p/12833961.html
12款Visual Studio 好用的工具
https://zhuanlan.zhihu.com/p/144911627
VS2019自帶 反編譯 與 Reflector 反編譯工具比較
https://www.cnblogs.com/cjm123/p/10908910.html
使用dnSpy調試asp.net core源碼
https://mp.weixin.qq.com/s/Rk06TKNKrkNZt0uS57DqIA
12個Visual Studio調試效率技巧
https://zhuanlan.zhihu.com/p/157625640
使用VS Code 開發.NET CORE 程序指南
https://www.cnblogs.com/xboo/p/11431222.html
完整構建VSCode開發調試環境
https://www.cnblogs.com/tianqing/p/11874558.html
如何為.NETCore安裝漢化包智能感知
https://www.cnblogs.com/yyfh/p/12073240.html
.NET Core 卸載工具 (dotnet-core-uninstall)
https://news.cnblogs.com/n/657435/
【微軟官方文檔】ASP.NET Core 各個版本新特性
https://docs.microsoft.com/zh-cn/aspnet/core/release-notes/aspnetcore-2.2?view=aspnetcore-2.2
指定要使用的 .NET Core 版本
https://docs.microsoft.com/zh-cn/dotnet/core/versions/selection
開源的.NET Core工具類庫
包含一些常用的操作類,大都是靜態類,加密解密,反射操作,硬體信息,字符串擴展方法,日期時間擴展操作,大文件拷貝,圖像裁剪,驗證碼等常用封裝。
懶得勤快:Masuit.Tools
https://github.com/XiLife-OSPC/Masuit.Tools
(三)Asp.Net Core入門指南與學習路線該指南的目的是為了給讀者心有個大概的輪廓。
在下面,您可以看到一個圖,說明可以採用的路徑以及要成為ASP.NET Core開發人員所想要學習的庫。我將此圖作為提示,給所有問我「作為ASP.NET Core開發人員,接下來應該學習什麼?」的人。ASP.NET Core開發者成長路:
「作為 http://ASP.NET Core 開發者,我接下來應該學習什麼?」,下面將介紹需要學習的東西,其中包括:依賴注入、資料庫、緩存、日誌、模板引擎、實時通信、測試、任務調度、設計模式等。
https://www.cnblogs.com/enjoy233/p/AspNetCore_developer_roadmap.html
路線圖:
開源地址:
https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
開源地址
https://github.com/windsting/little-aspnetcore-book
手冊下載地址
https://nbarbettini.gitbooks.io/little-asp-net-core-book/content/chapters/mvc-basics/create-view.html
這是一本http://Asp.Net Core手冊,目的是幫助web編程開發者和愛好者了解http://ASP.NET Core,一個使用Web應用和API的框架。
這本手冊內容是一個入門的教程。您可以從頭開始,完整地構建一個應用程式,同時了解以下內容:
MVC(模型-視圖-控制器)模式的基本內容前端代碼(HTML,CSS,JavaScript)如何與代碼交互什麼是依賴注入以及它的實用之處如何進行資料庫的讀寫操作如何添加登錄,註冊功能,以及如何提升安全性如何部署該應用程式到網絡上即使你對上面的知識點一無所知,也可以從這本手冊中開始學習!
更多詳情連結
https://zhuanlan.zhihu.com/p/164886312
了解如何使用 http://ASP.NET Core 創建快速、安全、跨平臺和基於雲的 Web 應用和服務。瀏覽教程、示例代碼、基礎知識、API 參考和更多內容。
https://docs.microsoft.com/zh-cn/aspnet/core/?view=aspnetcore-3.1
(五)Asp.Net Core視頻學習資源bilibili:《從零開始學http://ASP.NET Core與Entity Framework Core》https://www.bilibili.com/video/BV1wb411W7aB
來自微軟MVP,網名:角落的白板報。
整個課程包含ASP.NET Core的基礎、ASP.NET Core MVC、ASP.NET Core Razor EntityFramework Core。
.Net Core3.1跨平臺實戰|源碼|框架|調優https://ke.qq.com/course/465090?taid=10573320424986818
老張的哲學ASP.NET Core 學習視頻教程(Blog.Core)https://www.bilibili.com/video/av58096866/?p=3
(六)博客教程基礎.NET Core 命令行接口 (CLI) 工具
https://docs.microsoft.com/zh-cn/dotnet/core/tools/?tabs=netcore2x
使用cmd命令行(.NET Core CLI)來啟動ASP.NET Core 應用程式的多個實例
https://www.cnblogs.com/xyh9039/p/13155059.html
.NET Core 運行程序注意事項
https://www.cnblogs.com/DHclly/p/9606866.html
.NET Core應用的三種部署方式
https://www.cnblogs.com/Cwj-XFH/p/11612821.html
ASP.NET Core 項目目錄結構介紹
https://baijiahao.baidu.com/s?id=1620334909551970021&wfr=spider&for=pc
ASP.NET Core API 一覽表
https://docs.microsoft.com/zh-cn/dotnet/api/index?view=aspnetcore-2.2
NetCore 啟動地址配置詳解
https://www.cnblogs.com/cgyqu/p/12169014.html
Asp.Net Core WebAPI 埠修改(host.json)
https://www.cnblogs.com/cvol/p/10691065.html
Net Core3.0配置項目埠號
http://www.tnblog.net/aojiancc/article/details/2984
ASP.NET Core 中的Startup類
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/startup?view=aspnetcore-2.2
基於Webhost分析netcore啟動原理
https://www.bilibili.com/video/av58096866/?p=3
ASP.NET Core 中使用多個環境(開發、預發布、生產)- 默認為 Production
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments?view=aspnetcore-2.2
在Asp.NET Core中如何優雅的管理用戶機密數據
https://www.cnblogs.com/xiyuanMore/p/13096437.html
什麼是控制反轉,和依賴注入?
依賴倒置原則(Dependence inversion principle,DIP):軟體設計原則,要依賴於抽象,不要依賴具體實現。
控制反轉(Inversion of Control,IoC):IOC是一種實現DIP原則的模式。平常我們需要一個類對象的時候需要new出來,而現在我們把new一個類對象的工作交給了IOC容器,當我們需要一個類對象的時候直接向IOC容器要,就可以了,這個就是控制反轉。(控制權交個了IOC容器)
依賴注入(Dependency Injection,DI):DI是實現IOC的一種方式。當我需要一個類對象,IOC容器給我們這個類對象的過程其實就是依賴注入,依賴注入有構造函數注入和屬性注入。官方:ASP.NET Core 依賴注入
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2
全面理解 ASP.NET Core 依賴注入
https://www.cnblogs.com/jesse2013/p/di-in-aspnetcore.html
官方推薦通過構造函數。這也是所謂的顯式依賴。Asp.Net Core 的標準依賴注入容器不支持屬性注入。(可以使用autofac或者其他來實現屬性注入)
https://www.cnblogs.com/jesse2013/p/di-in-aspnetcore.html
ASP.NET Core 中依賴注入的N種玩法
https://www.cnblogs.com/artech/p/di-asp-net-core-pipeline-2.html
ASP.NET Core 自定義特性實現屬性注入
https://www.cnblogs.com/viter/p/11085318.html
ASP.NET Core 原生DI實現批量註冊
http://www.cnblogs.com/ShenNan/p/10256562.html
ASP.NET Core 中如何注入同一個接口的多個實現
https://andrewlock.net/how-to-register-a-service-with-multiple-interfaces-for-in-asp-net-core-di/
ASP.NET Core 中多個接口對應同一個實現的正確姿勢
https://andrewlock.net/how-to-register-a-service-with-multiple-interfaces-for-in-asp-net-core-di/
ASP.NET Core 依賴注入擴展庫 Scrutor
https://www.cnblogs.com/catcher1994/p/10316928.html
[OSharp]使用 IServiceProvider.GetService() 實現按需注入,優化性能.
https://www.cnblogs.com/guomingfeng/p/osharpns-steps-service.html
在WPF中使用.NET Core 3.0依賴項注入和服務提供程序
https://www.cnblogs.com/muran/p/11759899.html
AutoFac三種注入方式:按類型、按名稱、按鍵
http://www.cnblogs.com/wolegequ/archive/2012/06/03/2532605.html
AutoFacIOC容器的使用教程(批量注入)
https://blog.csdn.net/huanghuangtongxue/article/details/78914306
AutoFac倉儲泛型的依賴注入(泛型注入)
https://blog.csdn.net/huanghuangtongxue/article/details/78937494
數據訪問倉儲模式的事務管理(uow+rp)
https://blog.csdn.net/huanghuangtongxue/article/details/79215136
ASP.NET Core 技巧之偽屬性注入(屬性注入會造成類型的依賴關係隱藏,測試不友好等)
https://www.cnblogs.com/stulzq/p/12610026.html
創建ASP.NET Core Web API (ControllerBase、參數綁定源)
https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.1
RESTful API版本控制策略
https://www.cnblogs.com/kenshinobiy/p/4462424.html
ASP.Net Core WebAPI 幾種版本控制對比(nuget:Microsoft.AspNetCore.Mvc.Versioning)
https://www.cnblogs.com/runningsmallguo/p/7484954.html
ASP.NET Core 構建帶有版本控制的 API 接口(結合SwaggerUI)
https://www.cnblogs.com/danvic712/p/10176823.html
使用 ASP.NET Core WebAPI 小技巧
https://www.cnblogs.com/danvic712/p/11255423.html
使用 Web API 約定
https://docs.microsoft.com/zh-cn/aspnet/core/web-api/advanced/conventions?view=aspnetcore-3.0
使用 Web API 分析器告警缺失的約定
https://docs.microsoft.com/zh-cn/aspnet/core/web-api/advanced/analyzers?view=aspnetcore-3.0&tabs=visual-studio
WebApi管理和性能測試工具WebApiBenchmarks
https://mp.weixin.qq.com/s/4gGtxlYBPYFfXKTrloUDTA
ASP.NET Core AutoWrapper 自定義響應輸出
https://www.cnblogs.com/yyfh/p/12602087.html
ASP.NET Core MVC 靜態文件目錄配置與訪問授權
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/static-files?view=aspnetcore-2.2
ASP.NET Core 十種方式擴展你的 Views
https://www.cnblogs.com/savorboard/p/aspnetcore-views.html
ASP.NET Core 中的特殊視圖文件(_Layout.cshtml、_ViewStart.cshtml、_ViewImports.cshtml)
https://www.cnblogs.com/jesen1315/p/11041967.html
ASP.NET Core Razor SDK
https://docs.microsoft.com/zh-cn/aspnet/core/razor-pages/sdk?view=aspnetcore-2.2
ASP.NET Core 的 Razor 語法參考
https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-3.0
ASP.NET Core 中的 Razor 頁面介紹(OnGet、OnPost、單頁多Handler方式)
https://docs.microsoft.com/zh-cn/aspnet/core/razor-pages/?tabs=visual-studio&view=aspnetcore-2.2
ASP.NET Core 中 Razor 頁面的IPageFilter
https://docs.microsoft.com/zh-cn/aspnet/core/razor-pages/filter?view=aspnetcore-2.2
ASP.NET Core 中 Razor 頁面的路由和應用約定
https://docs.microsoft.com/zh-cn/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2
ASP.NET Core Razor 配置:預編譯,動態編譯,混合編譯
http://www.zkea.net/codesnippet/detail/razor-compilation.html
[譯]ASP.NET:WebForms vs MVC
https://www.cnblogs.com/heyuquan/p/webForms-vs-mvc.html
ASP.NET Core Razor頁面 vs MVC
https://www.cnblogs.com/tdfblog/p/asp-net-razor-pages-vs-mvc.html
[譯]ASP.Net Core 2.0中的Razor Page不是WebForm
https://www.cnblogs.com/runningsmallguo/articles/7376565.html
ASP.NET Core Razor頁面簡化了 ASP.NET MVC 應用程式
https://msdn.microsoft.com/magazine/mt842512
ASP.NET Core 在通用數據保護條例規則下使用 session
https://www.cnblogs.com/lwqlun/p/10526380.html
ASP.NET Core 使用Redis存儲Session
https://www.cnblogs.com/stulzq/p/7729105.html
ASP.NET Core SameSite 設置引起 Cookie 在 QQ 瀏覽器中不起作用
https://www.cnblogs.com/dudu/p/10959557.html
[github]ASP.NET Core CookieManager
https://github.com/nemi-chand/CookieManager
ASP.NET Core HttpClient的演進和避坑
https://www.cnblogs.com/viter/p/10086997.html
C#中HttpClient使用注意:靜態化、預熱和長連接
https://www.cnblogs.com/dudu/p/csharp-httpclient-attention.htmlASP.NET Core HttpClient的各種用法、生命周期管理
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/http-requests?view=aspnetcore-2.2
DotNetCore 使用Http請求及基於 Polly 的處理故障
https://www.cnblogs.com/haosit/p/9722213.html
DotNetCore 中 HttpClientFactory 類源碼分析
https://www.cnblogs.com/lizhizhang/p/9502862.html
nginx 之 https 證書配置
https://www.cnblogs.com/crazymagic/p/11042333.html
asp.net core 只有發布之後才能在IIS上部署訪問(而asp.net 程序 是可以直接指定到原始碼目錄訪問)
https://q.cnblogs.com/q/116899/
.Net Core 跨平臺:一個簡單程序的多平臺(windows、Linux、osx)發布
https://www.cnblogs.com/sndnnlfhvk/p/11613685.html
ASP.NET Core 使用 IIS 進行託管部署
http://www.cnblogs.com/wangjieguang/p/core-iis.html
ASP.NET Core 部署到 Linux 進行託管
https://www.cnblogs.com/viter/p/10408012.html
在Linux上使用 pm2 守護你的 .NET Core 應用程式--(pm2 github starts 31.1k)
https://www.cnblogs.com/stulzq/p/9775973.html
在Linux上使用Nginx + supervisor部署ASP.NET Core程序--(supervisor github starts 5.8k)
https://www.cnblogs.com/esofar/p/8043792.html
ASP.NET Core 使用Docker進行容器化託管
https://www.cnblogs.com/viter/p/10463907.html
配置 ASP.NET Core 以使用代理伺服器和負載均衡器
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-2.2
使用 Nginx 在 Linux 上託管 ASP.NET Core
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2
使用 Apache 在 Linux 上託管 ASP.NET Core
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2
ASP.NET Core nginx反向代理部署
https://www.cnblogs.com/sheng-jie/p/Deploy-ASP-NET-CORE-WITH-REVERSE-PROXY.html
.NET Core 和 .NET Standard 單元測試最佳做法
https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-best-practices
.NET 測試篇之Moq框架簡單使用
https://www.cnblogs.com/tylerzhou/p/11410337.html
使用 dotnet test 和 xUnit 在 .NET Core 中進行 C# 單元測試
https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-with-dotnet-test
Orchard Core是使用http://ASP.NET Core構建的開源模塊化,多租戶應用程式框架,以及在該應用程式框架之上構建的內容管理系統(CMS)。
https://github.com/OrchardCMS/OrchardCore
ant-design-blazor
專為Web應用程式設計的企業級UI,與現有的http://ASP.NET Core MVC和Razor Pages項目無縫集成。
https://github.com/ant-design-blazor/ant-design-blazor
https://ant-design-blazor.gitee.io/zh-CN/
awesome-dotnet-core優秀的.NET Core開源項目的集合,從入門到進階!
內容包括:庫、工具、框架、模板引擎、身份認證、資料庫、ORM框架、圖片處理、文本處理、機器學習、日誌、代碼分析、教程等。
https://github.com/OrchardCMS/OrchardCore
Abp.VNext.Hellohello,一個經典的abp框架!
abp是一款DDD模式的框架,它具備分層以及模塊化的結構,框架本身含有授權,驗證,異常處理,日誌,本地化,資料庫連接管理,設置管理,審計日誌等,ABP是一個開源的且文檔友好的應用框架,起始的想法是,「開發一款為所有公司和開發者通用的框架!」。它不僅僅是一個框架,更提供了一個基於DDD和最佳實踐的健壯的體系模型。
https://github.com/wjkhappy14/Abp.VNext.Hello
ZKEACMS紙殼CMS(ZKEACMS)是ZKEASOFT自主研發的,開源的免費的建站系統,您可以直接使用它來做為您的企業網站,門戶網站或者個人網站,博客,或用它做二次定製開發以滿足您特定的需求。
https://github.com/SeriaWei/ZKEACMS
YiShaAdminYiShaAdmin 基於.NET Core Web開發,借鑑了很多開源項目的優點,讓你開發Web管理系統和移動端Api更簡單,所以我也把她開源了。她可以用於所有的Web應用程式,例如網站管理後臺、CMS、CRM、ERP、OA這類的系統和移動端Api。
採用Bootstrap + http://ASP.NET Core + Entity Framework Core基礎架構。
https://github.com/liukuo362573/YiShaAdmin
.NET Core源碼C#開源項目推薦,.NET Core源碼必須推薦!
https://github.com/dotnet/aspnetcore
Util應用框架Util是一個.net core平臺下的應用框架,旨在提升小型團隊的開發輸出能力,由常用公共操作類(工具類)、分層架構基類、Ui組件,第三方組件封裝,第三方業務接口封裝,配套代碼生成模板,權限等組成。
https://github.com/dotnetcore/Util
OSharpOSharpNS 全稱 OSharp Framework with .NetStandard2.x,是一個基於.NetStandard2.x開發的一個.NetCore快速開發框架。
這個框架使用最新穩定版的.NetCore SDK(當前是.NET Core 3.1),對 AspNetCore 的配置、依賴注入、日誌、緩存、實體框架、Mvc(WebApi)、身份認證、權限授權等模塊進行更高一級的自動化封裝,並規範了一套業務實現的代碼結構與操作流程,使 .Net Core 框架更易於應用到實際項目開發中。
https://github.com/dotnetcore/OSharp
個人博客系統運行在windows和linux系統上,完全基於BeetleX.FastHttpAp框架開發。
前後端分離,完全脫離後端視圖引擎;基於vuejs和webapi模式
https://github.com/IKende/XBlog
FreeSqlFreeSql 是功能強大的對象關係映射技術(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。
https://github.com/dotnetcore/FreeSql
Autofac經典的的DI框架。
Autofac是Microsoft .NET的IoC容器。它管理類之間的依賴關係,以使應用程式隨著大小和複雜性的增長而易於更改。
https://github.com/autofac/Autofac
持續更新中,如果你有.NET Core相關的文章、工具、教程、開源項目都可以推薦,點原文查看知乎,歡迎自薦!
如果你也有開源項目,歡迎推薦!
微信聯繫:westbrook12000
往期推薦: