记录调试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

参考链接:https://www.bilibili.com/video/BV1964y1F7hQ?p=4

posted @ 2020-11-15 22:24  指左转右  阅读(582)  评论(0编辑  收藏  举报