方法来自https://github.com/dotnet/sdk/issues/37643

为了能够NativeAOT编译出来的二进制可执行文件兼容不同操作系统,需要采用静态编译方式
在.csproj文件中,<PropertyGroup>节点下面,添加
<StaticExecutable>true</StaticExecutable>
重新执行命令编译
dotnet publish -c Release -r linux-musl-x64 --self-contained true -p:PublishAot=true
编译出来的二进制文件就是静态链接的 ELF了

但issue中也提出,此方法会导致找不到libssl的问题,还需要有另外方法将libssl也静态链接编译进去,否则需要libssl的时候会报错