天天看點

在Linux上用自己編譯出來的coreclr與donet cli運作asp.net core程式

先在 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/ 檔案夾中。

在Linux上用自己編譯出來的coreclr與donet cli運作asp.net core程式
接着簽出 dotnet cli 的源代碼,運作 ./build.sh 指令進行編譯,編譯結果在 cli/scripts/dotnet-cli-build/bin/ 檔案夾中。
在Linux上用自己編譯出來的coreclr與donet cli運作asp.net core程式
然後将 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.      

運作成功! 

繼續閱讀