参照Building and Running CoreCLR on Linux,在Mac OS X上创建了CoreClrHelloWorld项目,并将在Mac上编译出来的CoreCLR文件"corerun, libcoreclr.dylib, mscorlib.dll"复制进来。
项目文件结构如下:
然后通过 runtime_mac/corerun app/HelloWorld.exe 命令运行。
却出现下面的错误:
Compiling 126 DomainBoundILStubClass::IL_STUB_PInvoke, IL size = 39, hsh=0x449ffd05 {0x7fff75a7a300-0x1011236b0} ASSERT [MISC ] at /git/dotnet/coreclr/src/pal/src/misc/fmtmessage.cpp.239: Unable to continue due to missing library. Trace/BPT trap: 5
请问如何解决这个问题
在ConsolePal.Unix.cs中将Interop.libc.open64改为Interop.libc.open,Interop.open64.cs中的代码也作相应更改。
然后编译System.Console项目,使用这个新编译出来的System.Console.dll可以解决问题。
我似乎也遇到了这个问题,在字符串格式化的时候。