参考官方文档
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