前言

编辑调试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. Persistent Bits - 题解【二进制】

    题面: WhatNext Software creates sequence generators that they hope will produce fairly random sequence ...

  2. redis:缓存穿透、缓存击穿、缓存雪崩

    缓存穿透的解决方案(空标记) 缓存穿透是指,在数据存储系统中不存在的记录,不会被存储到缓存中.这种记录每次的查询流量都会穿透到数据存储层.在高流量的场景下,不断查询空结果会大量消耗数据查询服务的资源, ...

  3. ASP.NET视图视图表单验证

    视图表单验证 初始化项目 新建一个ASP.NET MVC的项目 新建游戏用户类: public class StemUsers { public int id { get; set; } public ...

  4. 【ConcurrentHashMap】浅析ConcurrentHashMap的构造方法及put方法(JDK1.7)

    目录 引言 代码讲解 构造方法 put方法 ensureSegment Segment.put 引言 ConcurrentHashMap的数据结构如下. 和HashMap的最大区别在于多了一层Segm ...

  5. Linux网卡绑定bond0-实验

    虚拟机添加网卡 ip addr 查看新增的网卡是否读取 添加bonding接口 [root@centos8~]$nmcli con add type bond con-name mybond0 ifn ...

  6. 详解 Java 17 中新推出的密封类

    Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360.JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409.Seal ...

  7. Java学习笔记-基础语法Ⅵ-异常

    异常 对于异常,JVM默认处理方案为:把异常名称.异常原因以及异常出现的位置等信息输出在控制台,并且程序停止执行 异常处理方式一:try ... catch public class Demo { p ...

  8. 在字节跳动,一个更好的企业级SparkSQL Server这么做

    SparkSQL是Spark生态系统中非常重要的组件.面向企业级服务时,SparkSQL存在易用性较差的问题,导致难满足日常的业务开发需求.本文将详细解读,如何通过构建SparkSQL服务器实现使用效 ...

  9. 使用 AgileConfig 动态配置 NLog

    NLog 是我们在 .NET 领域使用非常广泛的日志组件.它默认使用 xml 来维护它的配置.最近有几个同学问我当使用 AgileConfig 的时候如何配置 NLog .因为 AgileConfig ...

  10. Celery-Task参数方法

    @celery.task(bind=True, name='name') def function_name(): pass # task方法参数 name : 可以显式指定任务的名字:默认是模块的命 ...