先在 github 上簽出 coreclr 的源代碼,運作 ./build.sh 指令進行編譯,編譯結果在 coreclr/bin/Product/Linux.x64.Debug/ 檔案夾中。接着簽出 dotnet cli 的源代碼,運作 ./build.sh 指令進行編譯,編譯結果在 cli/scripts/dotnet-cli-build/bin/ 檔案夾中。
先在 github 上簽出 coreclr 的源代碼,運作 ./build.sh 指令進行編譯,編譯結果在 coreclr/bin/Product/Linux.x64.Debug/ 檔案夾中。
接着簽出 dotnet cli 的源代碼,運作 ./build.sh 指令進行編譯,編譯結果在 cli/scripts/dotnet-cli-build/bin/ 檔案夾中。 然後将 coreclr 的編譯結果檔案複制到 dotnet cli 的編譯結果檔案夾中:cp /git/coreclr/bin/Product/Linux.x64.Debug/* .
接着用自己編譯出來的 corehost 指令運作 .net core 應用程式的程式集:
# /git/cli/scripts/dotnet-cli-build/bin/corehost AboutUs.dll
AboutUs.dll 是之前用 dotnet build 指令編譯出來的程式集。除了 AboutUs.dll ,在同一個檔案夾中,還需要一個 AboutUs.deps 檔案,如果沒有,會報 Could not resolve coreclr path 的錯誤。 .deps 檔案在應用程式的 bin/Debug/netstandardapp1.3/ubuntu.14.04-x64/ 檔案夾中。
接下來看一下運作結果:
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[3]
Hosting starting
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[4]
Hosting started
Hosting environment: Production
Application base path: /git/AboutUs/bin/Debug/netstandardapp1.3
Now listening on: http://*:8001
Application started. Press Ctrl+C to shut down.
運作成功!