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

Posted dudu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux上用自己编译出来的coreclr与donet cli运行.net core应用程序相关的知识,希望对你有一定的参考价值。

先在 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.

运行成功! 

以上是关于在Linux上用自己编译出来的coreclr与donet cli运行.net core应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 linux 上用 Eclipse 交叉编译,在 windows 上用 eclipse 交叉编译?

在windows上用CodeBlocks+MinGW+WxWidgets开发的程序,是不是可以在Linux和Mac上编译

[编译] 7在Linux下搭建安卓APP的开发烧写环境(makefile版-gradle版)—— 在Linux上用命令行+VIM开发安卓APP

linux上用 apt-get install命令安装的包是放在哪个文件夹的?可以提取出来放到另一

在linux上用c语言进行xml解析

C++随笔:.NET CoreCLR之GC探索