型 | プロパティ | 内容 |
---|---|---|
int | ProcessorCount | 現在のプロセスで使用可能な、プロセッサの数。これは以下の最小値となる
この値は.NETランタイムの起動時に決定され、プロセス実行中の変更は反映されない |
OperatingSystem | OSVersion | 現在のプラットフォーム識別名と、バージョン番号 |
string | NewLine | 環境で定義されている改行文字列。Unix以外では"\r\n"、Unixでは"\n" NewLine - environment.cs |
string | StackTrace | スタック トレースの情報。呼び出し階層ごとに情報を得たいならば、StackTraceクラスを用いる |
bool | HasShutdownStarted | trueならば、現在のアプリケーション ドメインがアンロードされているか、CLRがシャットダウンしている。 |
string | CurrentDirectory | 現在の作業ディレクトリの完全修飾パス (fully qualified path) |
メソッド | 機能 |
---|---|
GetEnvironmentVariable(String) | 現在のプロセスから、指定の環境変数の値を取得できる |
GetEnvironmentVariables() | 現在のプロセスから、すべての環境変数の名前と値を取得できる |
ExpandEnvironmentVariables(String) | 指定の文字列に埋め込まれた環境変数の名前を、その値に等しい文字列に置換できる |
public static string ExpandEnvironmentVariables (string name);Environment.ExpandEnvironmentVariables(String) Method (System) | Microsoft Learn
string variables = Environment.ExpandEnvironmentVariables("%AppData%\\TEST");
// "C:\\Users\\username\\AppData\\Roaming\\TEST"
.net - C# getting the path of %AppData% - Stack Overflow
型 | プロパティ | 内容 |
---|---|---|
実行環境の.NETに関する情報を得られます。ただしこのクラスがサポートされるのが.NET Framework 4.7.1以降のため、それより前のバージョンの情報は得られません。Applies to - RuntimeInformation Class (System.Runtime.InteropServices) | Microsoft Learn
型 | プロパティ | 内容 |
---|---|---|
string | FrameworkDescription | アプリケーションで使用されている.NETの名前 |
string | OSDescription | アプリケーションが実行されているOSの、説明 |
Architecture | OSArchitecture | アプリケーションが実行されているOSの、アーキテクチャ |
Architecture | ProcessArchitecture | アプリケーションの、アーキテクチャ |
アプリケーションで使用されている.NETの情報を得られます。それは以下の説明から始まり、現在のバージョンが続く文字列です。Remarks - RuntimeInformation.FrameworkDescription Property (System.Runtime.InteropServices) | Microsoft Learn
アプリケーションが対象とする.NETのバージョンはMSBuildのTargetFrameworkVersion要素で指定でき、そこで指定されているバージョンはAssemblyのカスタム属性から取得できます。
Assembly assembly = typeof(MyClass).Assembly; object[] attributes = assembly.GetCustomAttributes(typeof(TargetFrameworkAttribute), false); TargetFrameworkAttribute targetFramework = (TargetFrameworkAttribute)attributes[0]; string str1 = targetFramework.FrameworkName; // ".NETFramework,Version=v4.8" string str2 = targetFramework.FrameworkDisplayName; // ".NET Framework 4.8"c# - How to get the version of the .NET Framework being targeted? - Stack Overflow
システムの変更を検出できます。SystemEvents クラス (Microsoft.Win32) | Microsoft Learn