虽然编译源码折腾了几个时间(卡在restore),最后还是跑起来了aspnetcore6.0mvc源码项目,下面说步骤,前提是网络能连外,对于不能连外的懒得折腾。

第一步

电脑找个地克隆下GitHub上的源码下来

git clone --recursive https://github.com/dotnet/aspnetcore.git

注意一定要带上 recursive,一次性把依赖给下载下来。

第二步

git tag 查看版本(注意该命令需要进入到下载的代码文件夹aspnetcore里执行),一直回车直到显示所有版本,选择自己想要的版本号,记下来,输入!退出。我选择NET6最新v6.0.9版本

第三步 执行 git checkout  v6.0.9拉取该版本。

第四步  找到该文件 aspnetcore\eng\scripts\InstallVisualStudio.ps1 目录下执行 .\InstallVisualStudio.ps1 -edition enterprise 默认下载vs2019的企业版本以及需要的以来组件,当然你可以修改这个文件下载最新的vs2022。该命令在powershell下面执行吗,如果有失败提示注意是不是powershell禁用了脚本执行。自行百度开启即可(管理员下执行 Set-ExecutionPolicy RemoteSigned)

接下来就是弹出安装vs了。(我安装完vs2019后直接卸载掉了,我本地是vs2022就没用下载下来的vs2019)

第五步 powershell下执行 .\restore  ,脚本在 aspnetcore下,文件就是restore.cmd。

最关键最耗时的一步。没有FQ或者网络不佳会卡死在这里。这里主要是下载aspnetcore\.dotnet这个文件夹,我这里编译完大小910m,占用920m。如果小于这个数或者卡在这里很遗憾是过不去了(用powershell和cmd都可以,ps的话需要加.\)

restore碰运气,如果红色错误多的话需要细看再细看,我遇到两个大的错误,一个是提示node的版本太老,就是我电脑版本是多少, 实际要求的版本是多少,我直接卸载重装了最新的node。该错误忘了截图

看看这个报错,无非就是一堆vcxproj结尾的文件里导入 props的文件不存在。首选发现全是aspnetcore\src\Servers\IIS\AspNetCoreModuleV2这个文件夹下面的错误。

打开其中一个文件看一下,按照VCTargetpath关键字每个文件都有三个地方,粗暴的注释掉。这个模块是iis的加载core模块,是c++写的,对运行起来调试代码基本无影响,我的项目现在都不用iis了。

还需注意一个地方就是该文件夹AspNetCoreModuleV2下面的所有test也要改,我看这是测试文件夹,粗暴的删除掉了,不会影响项目运行。

haixu 

restore需要几分钟时间的,最后就是这样的了(有错误不要紧,先自己看看能不能判断问题所在,不行就百度一下去查一查。)

第六步 测试mvc源码 ,通过脚本打开mvc解决方案,startvs Mvc.sln,后续就是编译代码调试代码了。

编译的时候发现这里有报错,懒得深究,调试有需要再解决了。再看注释很明显说不没有足够数据,crlf不能正确的到这里,就是不执行吧,那就粗暴的注释一下下了。

结束!

hosting模块调试,一样执行cmd命令 startvs.cmd打开vs2022

mvc模块调试

aspnetcore6.0源代码编译调试的更多相关文章

  1. Android 6.0 源代码编译实践

    http://www.judymax.com/archives/1087 Android 6.0 源代码编译实践 https://mirrors.tuna.tsinghua.edu.cn/help/A ...

  2. Linux1.0源代码编译过程

    根据源代码包中的readme文件及http://chfj007.blog.163.com/blog/static/173145044201191195856806/?suggestedreading& ...

  3. 使用cm-12.0源代码编译twrp

    Select the newest branch available. This step is not necessary with Omni because Omni already includ ...

  4. IDEA 上 Tigase8.0 源代码编译运行

    Tigase交流群 :310790965 一些小伙伴们经常问Tigase8 check下来的源代码怎么跑起来,因为我不能及时一 一回答,所以还是写个博文来演示一下吧,一般针对新手而言,老手的话,就跳过 ...

  5. CDH4.5.0源代码编译

    Unable to load native-hadoop library for your platform解决 安装maven 1 cmake-2.8.12.1.tar.gz cd cmake-2. ...

  6. 关于DCMTK3.6.0源代码编译的总结

    1.DCMTK cmake出来的代码是一样的.MT和MD版本的区别在于DCMTK工程下的每个子工程的代码生成中的MT还是MD,只要修改成为相应的值就可以了. 2.依赖包的选择.依赖包必须与上面中所说的 ...

  7. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  8. 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...

  9. Android:基于Eclipse编译调试系统级应用源代码

    一.      概要描述 在使用Eclipse导入android工程源代码以后,我们可以使用ddms调试和跟踪源代码. 本文讲述动态调试源代码和静态调试源代码的两种方法,避免build system. ...

随机推荐

  1. SSH 多密钥配置

    目录 前言 一.SSH 是什么 二.密钥生成工具 三.密钥类型 四.本地配置 1.单密钥配置 2.多密钥配置 五.远端配置 1.GitHub/Gitee 2.服务器 前言 当我们从 GitHub 克隆 ...

  2. Ubuntu 隐藏所有窗口快捷键不生效问题

    在绑定界面卡住时,切换到一个tty窗口,再切回来 gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys gs ...

  3. linux Error downloading packages free 0 * needed 71 k

    linux  Error downloading packages free   0      * needed 71 k 原因:硬盘空间不足 查看磁盘大小 /]# df -hl 从/主目录开始搜索, ...

  4. Linux服务器挂载windows共享文件夹和nas存储

    需求: 公司有3.4T多的小文件需要copy到公司内部的nas存储中,由于小文件太多,数据量太大,整盘copy时速度极慢:只能人工对3.4T多的数据分批次的导入,这对于搞计算机的来说是不能忍受的,于是 ...

  5. Ubu18开机自启动-Systemd

    参考链接: https://blog.csdn.net/qq_16268979/article/details/114771854 本文内容为个人测试记录,具体文件目录请以读者自己电脑为准,此处只是提 ...

  6. 无意苦争春,一任群芳妒!M1 Mac book(Apple Silicon)能否支撑全栈工程师的日常?(Python3/虚拟机/Docker/Redis)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_187 就像大航海时代里突然诞生的航空母舰一样,苹果把玩着手心里远超时代的M1芯片,微笑着对Intel说:"不好意思,虽然 ...

  7. Odoo14 TypeError: Cannot read property 'classList' of undefined

    Traceback: TypeError: Cannot read property 'classList' of undefined at Class.setLocalState (http://l ...

  8. P1980 计数问题 - 记录

    P1980 计数问题 题目描述 试计算在区间 1 到 n的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到11中,即在 1,2,3,4,5,6,7,8,9,10,11中,数字1出 ...

  9. Luogu5019 铺设道路 (贪心)

    水题,水得好无语 #include <iostream> #include <cstdio> #include <cstring> #include <alg ...

  10. Canvas 线性图形(四):矩形

    函数 CanvasPath.rect(x, y, w, h) 参数名 类型 描述 x Number 矩形起始位置 y Number 矩形起始位置 w Number 矩形宽度 h Number 矩形高度 ...