はじめに
ASP.NET Core がどのランタイムで動いているのか確認したいことがありますよね!?
Environment.Version
を使うとランタイムのバージョン番号が得られます。。が、下記の条件付きです。
- .NET Core 3.x and .NET 5+
- .NET runtime version number / ex.
6.0.13
- .NET runtime version number / ex.
- .NET Framework Versions 4, 4.5, 4.5.1, and 4.5.2
4.0.30319.xxxxx
- .NET Framework 4.6 and later versions, and .NET Core versions before 3.0
4.0.30319.42000
やってみた
下記の環境下で .NET Core 2.1 と .NET 6 の ASP.NET Core アプリで検証しました。
> dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
~省略~
Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
~省略~
Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
~省略~
Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
~省略~
Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
.NET Core 2.1 アプリの実行結果では 4.0.30319.42000
が得られました。
.NET 6 アプリの実行結果では 6.0.13
が得られました。
おわりに
Environment.Version
の存在は知ってたのですが、.NET Core 2.1 環境での実行結果が期待する値ではなかったので忘れてました。.NET 6 環境では問題なく利用できそうです。