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等也可以源码调试了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux驱动

23.QT记事本

源码下载地址: https://download.csdn.net/download/qq_37997682/10453294

15930
来自专栏hbbliyong

Ubuntu16.04安装后开发环境配置和常用软件安装

Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视...

45580
来自专栏阮一峰的网络日志

Compass用法指南

几个月前,我介绍了Sass的用法。 Sass是一种"CSS预处理器",可以让CSS的开发变得简单和可维护。但是,只有搭配Compass,它才能显出真正的威力。 ...

35550
来自专栏世界第一语言是java

手动下载genymotion ova镜像文件,genymotion下载失败、慢解决方案

29080
来自专栏容器云生态

screen 简单使用

      系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通...

26860
来自专栏BestSDK

37个TOP实例命令,超过一半你肯定都没见过

1. Top 命令输出 首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出: ? 前...

33860
来自专栏云计算教程系列

如何使用Prometheus监控CentOS 7服务器

Prometheus是由SoundCloud开发的开源监控系统。与其他监控系统(如InfluxDB和Graphite)一样,Prometheus将其所有数据存储...

1.2K00
来自专栏云计算教程系列

如何在Windows 10上安装Ruby并设置本地编程环境

Ruby是一种动态编程语言,可用于编写从简单脚本到游戏和Web应用程序的任何内容。它于1993年首次在日本发布,但在2005年作为服务器端Web开发的语言获得了...

46600
来自专栏Laoqi's Linux运维专列

Ansible 企业高可用负载均衡部署方案

23530
来自专栏云计算教程系列

如何使用Prometheus监视您的Ubuntu 14.04服务器

Prometheus是由SoundCloud开发的开源监控系统。与其他监控系统(如InfluxDB和Graphite)一样,Prometheus将其所有数据存储...

23900

扫码关注云+社区

领取腾讯云代金券