记录调试asp.net core 5源码
获取源码
git clone --recursive git@github.com:dotnet/aspnetcore.git
将分支切换到v5.0.0
安装必须的vs组件。
./eng/scripts/InstallVisualStudio.ps1
安装jdk 11.9
https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
需要账号,可以在此获取
http://bugmenot.com/view/oracle.com
--以下操作如果遇到C2220错误,建议将区域设置为 美国,否则大概率编译会失败。
在global.json中,我修改了以下几项
{
"sdk": {
"version": "5.0.100-rc.2.20479.15"
},
"tools": {
"dotnet": "5.0.100-rc.2.20479.15",
"runtimes": {
"dotnet/x64": [
"2.1.18",
"$(MicrosoftNETCoreAppInternalPackageVersion)"
],
"dotnet/x86": [
"$(MicrosoftNETCoreAppInternalPackageVersion)"
],
"aspnetcore/x64": [
"3.1.4"
]
},
"Git": "2.22.0",
"jdk": "11.0.3",
"vs": {
"version": "16.8",
"components": [
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.18362"
]
},
"xcopy-msbuild": "16.8.0-alpha"
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.15.2",
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20510.1",
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20510.1"
}
}
修改文件src\Razor\Razor\test\TagHelpers\DefaultTagHelperContentTest.cs 834行(如果没报错,应该可以不改)
改为下图
这是一个测试文件,改成这样应该问题不大,否则编译错误。
右键打开powershell
.\restore.cmd
此命令如果保存,基本上是网络问题。找个好的点时间再试,或者采用别的方式。
.\build.cmd
如果显示下图则表示成功,编译5.0源码比3.1的坑没有那么多。
将项目 MvcSandbox 设为启动项目,启动方式不能是iisexpress
构建sdk:
.\build.cmd -all -pack -arch x64
.\build.cmd -all -pack -arch x86 -noBuildJava
.\build.cmd -buildInstallers