asp.net core 编译mvc,routing,security源代码进行本地调试
因?yàn)楦鞣N原因,需要查看asp.net core mvc的源代碼來理解運(yùn)行機(jī)制等等,雖說源代碼查看已經(jīng)能很好的理解了。但是能夠直接調(diào)試還是最直觀的。所有就有了本次嘗試。
因調(diào)試設(shè)置源代碼調(diào)試太輟筆,所以不用這個方法,轉(zhuǎn)而使用編譯源代碼的方式,當(dāng)然也能在源代碼里面加點(diǎn)log能更好的理解和調(diào)試
源代碼準(zhǔn)備及調(diào)試程序準(zhǔn)備
1.從https://github.com/aspnet上clone下來mvc及相關(guān)項目的源代碼,準(zhǔn)備稍后的編譯。
2.新建一個asp.net core mvc 項目,寫上一些基本代碼。這個就隨意了了,本次嘗試使用的是我自己的一個項目代碼,就不貼圖了。
源代碼的編譯
當(dāng)前所編譯的3個工程:mvc,routing,security。全家福。
編譯之前,一定要根據(jù)調(diào)試項目所引用的package版本來。我項目引用的mvc版本是1.1.2,routing和security版本是1.1.1 所有g(shù)it把分支checkout到對應(yīng)版本上進(jìn)行編譯
security項目的編譯
編譯之后的packages包
本地nuget服務(wù)器準(zhǔn)備
本地nuget服務(wù)器準(zhǔn)備就比較簡單了,網(wǎng)上一搜一大包,新建一個web 空工程,nuget引用nuget.server 包。然后發(fā)布到iis就完事了。
本地nuget包發(fā)布
如圖上問題所示,該刪除的刪除就好了
調(diào)試項目引用本地nuget服務(wù)的包
成果展示
當(dāng)前的斷點(diǎn)在Microsoft.AspNetCore.Authorization.DefaultAuthorizationService.DefaultAuthorizationService
調(diào)用堆棧上能很明顯的看出來 mvc,routing等也可以源碼調(diào)試了。
相關(guān)文章:?
.net core 源碼解析-web app是如何啟動并接收處理請求
.net core 源碼解析-web app是如何啟動并接收處理請求(二) kestrel的啟動
.net core 源碼解析-mvc route的注冊,激活,調(diào)用流程(三)
原文地址:http://www.cnblogs.com/calvinK/p/6711848.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的asp.net core 编译mvc,routing,security源代码进行本地调试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初探CSRF在ASP.NET Core中
- 下一篇: asp.net ajax控件工具集 Au