この投稿では、C# でオペレーティング システムを特定する方法について説明します。

1.使用する RuntimeInformation Class

現在のプラットフォームを識別するために推奨される解決策は、 RuntimeInformation.IsOSPlatform() からの方法 System.Runtime.InteropServices 名前空間。型の引数を取ります OSPlatform 構造体。次の 4 つのプロパティがあります。 Windows, Linux, OSX、 と FreeBSD それぞれ Windows、Linux、OSX、および FreeBSD オペレーティング システムを表します。

ダウンロード  コードを実行する

 
を使用して、現在のオペレーティング システムに関する詳細情報を取得できます。 RuntimeInformation.OSDescription 財産。例えば、

ダウンロード  コードを実行する

サンプル出力:

OSDescription: Microsoft Windows 10.0.22000
or
OSDescription: Unix 4.15.0.176

2.使用する OperatingSystem Class

The OperatingSystem クラスには、現在のランタイム オペレーティング システムに関する情報を提供するいくつかの静的ユーティリティ メソッドとプロパティが含まれています。現在のアプリケーションが Windows、Linux、macOS、または Android で実行されているかどうかを判断するには、次を使用できます。 IsWindows(), IsLinux(), IsMacOS(), IsAndroid() 方法。例えば、

ダウンロード  コードを実行する

 
オペレーティング システムのプラットフォームやバージョンなど、現在のオペレーティング システムに関する詳細情報を取得するには、 Environment.OSVersion 財産。

ダウンロード  コードを実行する

サンプル出力:

Platform: Win32NT, Version: Microsoft Windows NT 10.0.22000.0
or
Platform: Unix, Version: Unix 4.15.0.176

3.使用する Environment.OSVersion 財産

.NET 5 以降では、現在のオペレーティング システムの名前とバージョンを取得できます。 Environment.OSVersion 財産。

ダウンロード  コードを実行する

サンプル出力:

Microsoft Windows NT 10.0.22000.0
or
Unix 4.15.0.176

 
.NET 5 より前の .NET バージョンでこれを使用する場合は注意してください。アプリケーションが Windows 互換モードで実行されている場合は、 Environment.OSVersion OS のバージョンが正しくない可能性があります。

C# でオペレーティング システムを決定するのはこれですべてです。