如何对Asp.net MVC 插入中断件 查看运作时状态?

在开发Asp.net MVC 难免会遇到问题需要了解mvc运作原理
你想学习MVC底层是如何运作的

幸好微软有将ASP.Net MVC开源。

但....直接看原始码实在是不好搞懂,怎么办呢?
如果可以使用侦错模式来查看程式码 一定可更容易了解里面的来龙去脉
所以小弟就跟大家分享 在网上找到如何在ASP.Net MVC原始码上侦错

在专案上侦错MVC按照下面五个步骤即可完成

一、下载MVC原始码
MVC原始码网址

二、打开自己的专案

点选方案->加入->加入现有专案
http://img2.58codes.com/2024/20096630lrPkL2lqVN.png并将下面几个专案加入方案中
System.Web.Mvc
System.Web.Razor
System.Web.WebPages.Deployment
System.Web.WebPages
System.Web.WebPages.Razor
http://img2.58codes.com/2024/20096630nThABqz3fy.png

三.改变目前方案的DLL引用

删除原本预设引用
http://img2.58codes.com/2024/20096630EuMIvympQt.png新增目前专案 参考->加入参考->专案(方案)
将目前的专案加入引用
http://img2.58codes.com/2024/20096630CKX2nIFZHj.png

四.移除签署

将asp.net mvc那5个专案移除[加密签署]
http://img2.58codes.com/2024/20096630gJ8ezADKwq.png

五.移除Assembly.publicKey

移除 AssemblyInfo上PublicKey
http://img2.58codes.com/2024/200966308CxIWqgziT.png
如下面程式: 将PublickKey移除即可
移除前:[assembly: InternalsVisibleTo("System.Web.Mvc, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")] [assembly: InternalsVisibleTo("System.Web.Helpers, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]移除后:[assembly: InternalsVisibleTo("System.Web.Mvc")] [assembly: InternalsVisibleTo("System.Web.Helpers")]
移除 webcoig上PublicKey
移除前:<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /></sectionGroup>移除后:<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor"><section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor" requirePermission="false" /><section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor" requirePermission="false" /></sectionGroup> 

重点是在第五点 一定要照做不然会无法编译

如上述都执行完了 就可以开心来侦错MVC搂^^

小弟已将可侦错MVC的专案放在github上 连结

参考资料: https://blogs.msdn.microsoft.com/micl/2014/06/06/how-to-debug-your-application-with-mvc-fresh-source-code/


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章