因?yàn)楦鞣N原因,需要查看asp.net core mvc的源代碼來理解運(yùn)行機(jī)制等等,雖說源代碼查看已經(jīng)能很好的理解了。但是能夠直接調(diào)試還是最直觀的。所有就有了本次嘗試。
因調(diào)試設(shè)置源代碼調(diào)試太輟筆,所以不用這個(gè)方法,轉(zhuǎn)而使用編譯源代碼的方式,當(dāng)然也能在源代碼里面加點(diǎn)log能更好的理解和調(diào)試
源代碼準(zhǔn)備及調(diào)試程序準(zhǔn)備
1.從https://github.com/aspnet上clone下來mvc及相關(guān)項(xiàng)目的源代碼,準(zhǔn)備稍后的編譯。
2.新建一個(gè)asp.net core mvc 項(xiàng)目,寫上一些基本代碼。這個(gè)就隨意了了,本次嘗試使用的是我自己的一個(gè)項(xiàng)目代碼,就不貼圖了。
源代碼的編譯
當(dāng)前所編譯的3個(gè)工程:mvc,routing,security。全家福。
編譯之前,一定要根據(jù)調(diào)試項(xiàng)目所引用的package版本來。我項(xiàng)目引用的mvc版本是1.1.2,routing和security版本是1.1.1 所有g(shù)it把分支checkout到對(duì)應(yīng)版本上進(jìn)行編譯
security項(xiàng)目的編譯
編譯之后的packages包
本地nuget服務(wù)器準(zhǔn)備
本地nuget服務(wù)器準(zhǔn)備就比較簡(jiǎn)單了,網(wǎng)上一搜一大包,新建一個(gè)web 空工程,nuget引用nuget.server 包。然后發(fā)布到iis就完事了。
本地nuget包發(fā)布
如圖上問題所示,該刪除的刪除就好了
調(diào)試項(xiàng)目引用本地nuget服務(wù)的包
成果展示
當(dāng)