獲取源碼
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