private static bool IsMusl() { #if NETSTANDARD1_1 var cpu = RuntimeInformation.ProcessArchitecture; switch (cpu) { case Architecture.X86: return(Posix.AccessCheck("/lib/libc.musl-x86.so.1", 0) == 0); case Architecture.X64: return(Posix.AccessCheck("/lib/libc.musl-x86_64.so.1", 0) == 0); case Architecture.Arm: return(Posix.AccessCheck("/lib/libc.musl-armv7.so.1", 0) == 0); case Architecture.Arm64: return(Posix.AccessCheck("/lib/libc.musl-aarch64.so.1", 0) == 0); default: throw new PlatformNotSupportedException(cpu.ToString()); } #else using (var proc = Process.GetCurrentProcess()) { foreach (ProcessModule mod in proc.Modules) { var fileName = mod.FileName; if (!fileName.Contains("libc")) { continue; } if (fileName.Contains("musl")) { return(true); } break; } } return(false); #endif }