「clrver」コマンド:Dev Basics/Keyword
clrverコマンドは開発者向けのユーティリティー。これを使うことで手元のPCにインストールされているCLRバージョンを簡単に調べられる。
clrverコマンドは、ローカルPCにインストールされているCLRのバージョンを調べるためのツール。Visual Studio(以下、VS)と一緒にインストールされる。
CLRのバージョン
詳しくは「.NET Frameworkのバージョンを整理する」を参照してほしいが、.NETプログラムの実行環境であるCLR(Common Language Runtime、共通言語ランタイム)には幾つかのバージョンがある(本フォーラムの読者の多くはご存じであろう)。手元のマシンにそれらの中でどのバージョンがインストールされているかや、現在実行中のアプリで使われているCLRのバージョンを調べるのにこのツールを使用できる。
このツールはVSと同時にインストールされるため、実行するには環境変数PATHにコマンドへのパスを含めるか(筆者が調べたところではC:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Toolsディレクトリなどに含まれている)、事前にパスが通っている開発者向けコマンドプロンプト([Developer Command Prompt for Visual Studio 2017]など)を起動する必要がある。
筆者の環境の1つで開発者向けコマンドプロンプトを開いて、このコマンドを実行したところを以下に示す。
この画面からはこのマシンにインストールされているCLRは1つだけで、そのバージョンがv4.0.30319であることが分かる。このマシンで.NET Framework 3.5を有効化した後に、同じコマンドを実行すると次のようになる。
すると、今度は2つのCLRバージョンが表示されるようになった。なお、上に示した通り、.NET Framework 4.xで使用されるCLRのメジャーバージョンは「4」であり、.NET Framework 3.x(2.0を含む)で使用されるCLRのメジャーバージョンは「2」である。
clrverコマンドに指定できるオプションには以下のものがある。
- -all:現在実行中のプロセスのうち、CLR上でホストされているものと、そのCLRバージョンを表示
- プロセスID:指定したプロセスで使用されているCLRバージョンを表示
- -?:ヘルプを表示
以下にこれらのオプションを指定してclrverコマンドを実行した画面を示す。
これはVS 2017の起動後に、2つのオプションを指定してclrverコマンドを実行したところだ。最初の「clrver -all」コマンドの実行結果からは、VS 2017のIDE(devenv)とそれに付随する各種プログラムがCLRのバージョン4.0.30319上で動作していることが分かる。また、プロセスIDをそのまま指定した場合にはそのプロセスで利用されているCLRのバージョンが表示されることも分かる。
clrverコマンドを使うと、手元のPCにインストールされているCLRのバージョンがどれかを簡単に調べられるので覚えておきたい。
参考資料
- Clrver.exe (CLR バージョン ツール):clrverコマンドのドキュメント
- .NET Framework のバージョンおよび依存関係:.NET FrameworkのバージョンやそのCLRバージョンなどに関する情報が記述されている
- .NET Frameworkのバージョンを整理する:.NET Frameworkのバージョン、.NET Core、.NET Standardなどの関連をまとめた記事
Copyright© Digital Advantage Corp. All Rights Reserved.