aspnetcore源码调试过程

参考官方文档
https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md

1、git clone --recursive https://github.com.cnpmjs.org/dotnet/aspnetcore.git 或

git clone --recursive https://git.sdut.me/dotnet/aspnetcore.git

2、下载模块时中断下载,打开文件
X:\aspnetcore\.git\config 替换里面的 github.com 为上面域名 github.com.cnpmjs.org

3、删除 X:\aspnetcore\src\submodules 的文件夹

4、然后执行下面命令

git submodule update --init --recursive

5、还原 X:\aspnetcore\.git\config 文件内容

6、git tag列出主分支所有版本

7 检出某个分支版本
git checkout v5.0.9(版本 如 5.0.9)

更新拉取远程代码 git fetch

git reset --hard main:main

git pull main

8 、 Set-ExecutionPolicy RemoteSigned 命令设置

9、安装依赖项
./eng/scripts/InstallVisualStudio.ps1

10、升级node到最新版本

11、安装 npm install -g yarn

12、安装JDK 版本比最上面官方指引版本一样或大一点的版本,但不要最新版本


13、设置系统环境变量
$env:JAVA_HOME = JDK安装路径

14、 X:\aspnetcore\eng\Versions.props (如果还原过程提示包找不到的话,修改这个文件的相关包项版本为提示的最近版本)

15 X:\aspnetcore\global.json 的 version 和 dotnet 改成上面checkout版本的最大分版本
如 https://dotnet.microsoft.com/en-us/download/dotnet/5.0 SDK 5.0.400 这个版本号

16、cmd定位到X:\aspnetcore目录下,运行restore.cmd,此时会下载一个目录X:\aspnetcore\.dotnet,关闭cmd窗口停止restore进程,编辑目录下的dotnet-install.ps1文件,

Say "Downloading link: $DownloadLink"
try {
DownloadFile -Source $DownloadLink -OutPath $ZipPath

修改成

Say "Downloading link: $DownloadLink,$ZipPath"
try {
while(![System.IO.File]::Exists($ZipPath)){
Start-Sleep -s 5
}
Say "$ZipPath is has exists"
# DownloadFile -Source $DownloadLink -OutPath $ZipPath

作出上面修改的原因是,powershell可能是单线程下载或网络原因(你懂的),

X:\aspnetcore.dotnet\x86 目录下也有一个dotnet-install.ps1,这可能是32位系统用的,也按照前面的修改。

17、还原
.\restore.cmd

18、.\clean.cmd 及删除 *\obj\debug文件夹

修复此文件错误 X:\aspnetcore\src\Razor\Razor\test\TagHelpers\DefaultTagHelperContentTest.cs

修改 "X:\aspnetcore\src\Components\Web.JS\src\webpack.config.js" 文件中的 maxAssetSize: 276000, 为 maxAssetSize: 30000000,


19、运行 "X:\aspnetcore\build.cmd"

20 、启动源码中的组件sln
src\组件目录\startvs.cmd

21、自动会启动VS打开源码,可以调试了


22、还原 Set-ExecutionPolicy Restricted对应上面 8条

23、启用 .NET 3.5

24、下载nuget.exe 复制到

25、生成自己的dev (开发版)SDK ,对代码调试信息比较多。


26
.\eng\build.cmd -all -pack -arch x64
.\eng\build.cmd -all -pack -arch x86 -noBuildJava
.\eng\build.cmd -buildInstallers

 

上一篇:struts2和spring mvc混合使用


下一篇:11g grid 安装10g database 软件