static LibLoader() { switch (Environment.OSVersion.Platform) { case PlatformID.Win32S: case PlatformID.Win32Windows: case PlatformID.Win32NT: case PlatformID.WinCE: IsWindows = true; break; case PlatformID.Unix: try { var num = Marshal.AllocHGlobal(8192); if (uname(num) == 0 && Marshal.PtrToStringAnsi(num) == "Darwin") { IsOSX = true; } Marshal.FreeHGlobal(num); break; } catch { break; } case PlatformID.MacOSX: IsOSX = true; break; default: throw new ArgumentOutOfRangeException(); } Logger = LoggerProvider.LoggerFor(typeof(ACBrSafeHandle)); }