前言

编辑调试DotNet源码可按照官网教程操作,但因为网络问题中间会出现各种下载失败的问题,这里出个简单的教程(以6为版本)

下载源码

下载源码 GitHub下载源码速度极慢,可替换为国内仓库https://github.com.cnpmjs.org/或https://git.sdut.me/



下载源码
git clone --recursive https://github.com/dotnet/aspnetcore
下载子模块(这块有可能会很卡最好修改一下)
git submodule update --init --recursive 下载完成后,记得把地址在改回去,因为首次下载大,以后下载就小了 git tag 查看版本
git checkout V6.0.3(需要的版本)

配置环境

设置Visual Studio



版本不同,要求不同,根据不同的版本设置环境

  • 1 - 脚本设置

    根据自己Visual Studio的版本设置 默认为 Enterprise Preview
  ./eng/scripts/InstallVisualStudio.ps1 -Edition Professional -Channel Release
./eng/scripts/InstallVisualStudio.ps1 [-Edition {Enterprise|Community|Professional}] [-Channel {Release|Preview}]
  • 2 - 手动设置

    根据json文件查找配置,根据配置表(这里以2022为准,根据vs版本配置)查找具体需要配置的项



下载安装NodeJS

根据版本要求下载安装相对应的NodeJS https://nodejs.org.

下载安装Yarn

npm install -g yarn

下载java jdk

这里不使用脚本下载了,使用官网地址下载

下载完成后,点下一步下一步安装这里就不详细说了,下载完成后再环境变量中添加JAVA_HOME变量

修改源码配置



把安装目录下的vswhere文件放到源码tool中,没有文件夹创建文件夹注意版本号,因文件大使用脚本下载过慢,故提前准备

源码还原

.\restore.cmd

源码还原过程中可能会卡一会,不要动,过个一段时间(时间有可能会很长,等等……)会出现下载失败等信息。

使用IIS创建应用程序



修改配置文件地址,改为我们创建的本机地址



下一步再次使用命令执行restore

需要啥文件就去微软官网下载,下载完成后放到自己创建的应用程序中,再次执行restore直到不出现错误

源码编译

最后一步了,可以使用脚本(eng\build.cmd)生成,也可以打开Visual Studio编译生成

编译调试Net6源码的更多相关文章

  1. Windows 以及 Xcode下编译调试 libcurl 源码

    curl 这个工具大家都很熟悉. 前几天因为要跟踪curl的实现细节, 不得不设法搭建curl的调试工程. 我们分别在windows visual studio 和 mac 上的 xcode 下搭建调 ...

  2. Windows+VS2012环境下编译调试MySQL源码 转

    http://m.blog.csdn.net/blog/SnowyWolf/18952643

  3. 查看和调试Qt源码(动态编译的QT也可进入源码)good

    简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...

  4. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  5. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  6. Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

    一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用 ...

  7. 使用VS2012调试ReactOS源码

    目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译nt ...

  8. Apache Spark源码走读之18 -- 使用Intellij idea调试Spark源码

    欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用 ...

  9. eclipse调试jdk源码

    摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...

随机推荐

  1. partOne代码修改

    学生毕业论文系统----代码修改   /* 基本类ScoreInformation类相较之前无变化*/public class ScoreInformation { private String st ...

  2. xss攻击和防御

    简介 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允 ...

  3. Python学习笔记: 用pprint更漂亮的打印数据

    pprint是一个标准库,它提供了pprint()函数 ,用来打印复杂数据时更漂亮 >>> from pprint import pprint >>> data = ...

  4. PicLite 开发日志 (v0.0.3)

    PicLite 开发日志 (v0.0.3) 感谢您阅读本片文章! Gitee 地址:https://gitee.com/XiaoQuQuSD/pic-lite. 新增功能 当错误出现时不再强制 rai ...

  5. [AcWing 26] 二进制中1的个数

    点击查看代码 class Solution { public: int NumberOf1(int n) { unsigned un = n; int res = 0; while (un) { re ...

  6. 消息队列,IPC机制(进程间通信),生产者消费者模型,线程及相关

    消息队列 创建 ''' Queue是模块multiprocessing中的一个类我们也可以这样导入from multiprocessing import Queue,创 建时queue = Queue ...

  7. arts-week9

    Algorithm 521. Longest Uncommon Subsequence I - LeetCode Review 如何搭建一个私有的CDN? 大部分情况下,我们使用市场上现有的 CDN ...

  8. Cocos---简单案例:红气球

    红气球 知识点 场景切换 动画播放,帧事件,Tween 按钮控件 音效管理 案例介绍 开始界面 点击按钮自动进入游戏界面 游戏界面 游戏目的找出红气球,如果点击红气球意味着游戏成功,其余意味着游戏失败 ...

  9. 实验二——以点类 Point 为基类设计圆类 Circle

    学习内容:以点类 Point 为基类设计圆类 Circle 示例代码: package 实验二; import java.util.Scanner; class Point{//父类Point pri ...

  10. lnav-日志查看器

    lnav是一个基于控制台的高级lnav是一个基于控制台的高级日志文件查看器(浏览器). lnav支持日志高亮显示内容以及查看压缩的日志文件,而且它可以使用较小的内存实时查看较大的日志文件.日志文件查看 ...