编译调试Net6源码
前言
编辑调试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源码的更多相关文章
- Windows 以及 Xcode下编译调试 libcurl 源码
curl 这个工具大家都很熟悉. 前几天因为要跟踪curl的实现细节, 不得不设法搭建curl的调试工程. 我们分别在windows visual studio 和 mac 上的 xcode 下搭建调 ...
- Windows+VS2012环境下编译调试MySQL源码 转
http://m.blog.csdn.net/blog/SnowyWolf/18952643
- 查看和调试Qt源码(动态编译的QT也可进入源码)good
简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...
- 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码
前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...
- Android动态方式破解apk进阶篇(IDA调试so源码)
一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...
- Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk 主要采用的是静态方式,步骤也很简单,首先使用 ...
- 使用VS2012调试ReactOS源码
目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译nt ...
- Apache Spark源码走读之18 -- 使用Intellij idea调试Spark源码
欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用 ...
- eclipse调试jdk源码
摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...
随机推荐
- XGBoost文本分类,多分类、二分类、10-Fold(K-Fold)
做机器学习的时候经常用到XGB,简单记录一下 K折交叉验证也是模型常用的优化方法.一起记录... K折交叉验证:类似三个臭皮匠,顶个诸葛亮.我的理解是,就是用民主投票的方式,选取票数最高的那个当结果. ...
- java自带的四种线程池
java预定义的哪四种线程池? newSingleThreadExexcutor:单线程数的线程池(核心线程数=最大线程数=1) newFixedThreadPool:固定线程数的线程池(核心线程数= ...
- 集成算法(Bagging & Boosting)
用多种分类器一起完成同一份任务 Bagging策略(有放回的,随机的,子集大小一样的,m个训练集用同一个模型) Boosting-提升策略(串联) AdaBoost算法
- 劳动节快乐!手写个核心价值观编码工具 - Python实现
前言 今天是五一劳动节,祝各位无产阶级劳动者节日快乐! 然后来整活分享一些有趣的东西~ 这个小工具是我大学时做着玩的,对于各位接班人来说,12个词的核心价值观这东西,大家都非常熟悉了,这工具可以实现将 ...
- Linux网卡绑定bond0-实验
虚拟机添加网卡 ip addr 查看新增的网卡是否读取 添加bonding接口 [root@centos8~]$nmcli con add type bond con-name mybond0 ifn ...
- 1.8 常见Linux发行版本有哪些?
新手往往会被 Linux 众多的发行版本搞得一头雾水,我们首先来解释一下这个问题. 从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核.内核指的是一个提供设备驱动.文件系统.进程管理.网络通 ...
- 项目实战:rsync+sersync实现数据实时同步
一.组网介绍 本次实验使用两台主机: qll251 角色:Rsync server + Sersync server qll252 角色: Rsync client 本次实验采用CentOS7.7系统 ...
- Vue.js 3.x 双向绑定原理
什么是双向绑定? 废话不多说,我们先来看一个 v-model 基本的示例: <input type="text" v-model="search"> ...
- java、selenium、图片滑块验证,底部附本地可测试代码
准备 本地Chrome版本对应WebDriver驱动:http://chromedriver.storage.googleapis.com/index.html maven包 <!-- sele ...
- 【软件构造】Mutable类型与Immutable类型
[软件构造]Mutable类型与Immutable类型 1.前言 在软件构造这门课中,对mutable类型和immutable类型的深入理解,有助于后续ADT.可维护性.可复用性的学习,因此我们有必要 ...