asp.net core 編譯mvc,routing,security源代碼進行本地調試


因為各種原因,需要查看asp.net core mvc的源代碼來理解運行機制等等,雖說源代碼查看已經能很好的理解了。但是能夠直接調試還是最直觀的。所有就有了本次嘗試。
因調試設置源代碼調試太輟筆,所以不用這個方法,轉而使用編譯源代碼的方式,當然也能在源代碼里面加點log能更好的理解和調試

源代碼准備及調試程序准備

1.從https://github.com/aspnet上clone下來mvc及相關項目的源代碼,准備稍后的編譯。
2.新建一個asp.net core mvc 項目,寫上一些基本代碼。這個就隨意了了,本次嘗試使用的是我自己的一個項目代碼,就不貼圖了。

源代碼的編譯

當前所編譯的3個工程:mvc,routing,security。全家福。

編譯之前,一定要根據調試項目所引用的package版本來。我項目引用的mvc版本是1.1.2,routing和security版本是1.1.1 所有git把分支checkout到對應版本上進行編譯

security項目的編譯

編譯之后的packages包

本地nuget服務器准備

本地nuget服務器准備就比較簡單了,網上一搜一大包,新建一個web 空工程,nuget引用nuget.server 包。然后發布到iis就完事了。

本地nuget包發布

如圖上問題所示,該刪除的刪除就好了

調試項目引用本地nuget服務的包

成果展示

當前的斷點在Microsoft.AspNetCore.Authorization.DefaultAuthorizationService.DefaultAuthorizationService
調用堆棧上能很明顯的看出來 mvc,routing等也可以源碼調試了。


免責聲明!

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



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