在 Linux Ubuntu 上签出 dotnet cli 的源码,运行 ./build.sh 命令进行编译。
编译成功后,在 cli/artifacts/ubuntu.14.04-x64/corehost 文件夹中得到下面的 3 个文件:
corehost libhostfxr.so libhostpolicy.so
将其复制到 dotnet cli 的安装目录中:
cp * /usr/share/dotnet-nightly/bin/
然后用 dotnet run 运行 .net core 程序(运行之前先export COREHOST_TRACE=2),出现下面的错误:
Tracing enabled Calling host entrypoint from library at own dir /usr/share/dotnet-nightly/bin Tracing enabled dotnet: /git/cli/src/corehost/cli/hostpolicy.cpp:203: int corehost_main(const int, const pal::char_t **): Assertion `g_init' failed. Aborted
这个问题后来解决了,dotnet cli 编译的完整输出在这个文件夹:cli/scripts/dotnet-cli-build/bin/ ,详见:在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序
这种初始化的问题 我以前遇到过
大致都是环境上 少装了什么 你看看 你这个初始化 是不是需要依赖于什么作为环境