在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序

先在 github 上签出 coreclr 的源代码,运行 ./build.sh 命令进行编译,编译结果在 coreclr/bin/Product/Linux.x64.Debug/ 文件夹中。

在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序_第1张图片

接着签出 dotnet cli 的源代码,运行 ./build.sh 命令进行编译,编译结果在 cli/scripts/dotnet-cli-build/bin/ 文件夹中。

在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序_第2张图片

然后将 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.

运行成功! 

你可能感兴趣的:(在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序)