検索
連載

「clrver」コマンドDev Basics/Keyword

clrverコマンドは開発者向けのユーティリティー。これを使うことで手元のPCにインストールされているCLRバージョンを簡単に調べられる。

Share
Tweet
LINE
Hatena
「Dev Basics/Keyword」のインデックス

連載「Dev Basics/Keyword」

 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つで開発者向けコマンドプロンプトを開いて、このコマンドを実行したところを以下に示す。

clrverコマンドの実行画面
clrverコマンドの実行画面

 この画面からはこのマシンにインストールされているCLRは1つだけで、そのバージョンがv4.0.30319であることが分かる。このマシンで.NET Framework 3.5を有効化した後に、同じコマンドを実行すると次のようになる。

.NET Framework 3.5を有効化
.NET Framework 3.5を有効化
2つのCLRバージョンが表示された
2つのCLRバージョンが表示された

2つのCLRバージョンが表示されたところ


 すると、今度は2つのCLRバージョンが表示されるようになった。なお、上に示した通り、.NET Framework 4.xで使用されるCLRのメジャーバージョンは「4」であり、.NET Framework 3.x(2.0を含む)で使用されるCLRのメジャーバージョンは「2」である

 clrverコマンドに指定できるオプションには以下のものがある。

  • -all:現在実行中のプロセスのうち、CLR上でホストされているものと、そのCLRバージョンを表示
  • プロセスID:指定したプロセスで使用されているCLRバージョンを表示
  • -?:ヘルプを表示

 以下にこれらのオプションを指定してclrverコマンドを実行した画面を示す。

-allオプションとプロセスIDを指定してclrverコマンドを実行したところ
-allオプションとプロセスIDを指定してclrverコマンドを実行したところ

 これはVS 2017の起動後に、2つのオプションを指定してclrverコマンドを実行したところだ。最初の「clrver -all」コマンドの実行結果からは、VS 2017のIDE(devenv)とそれに付随する各種プログラムがCLRのバージョン4.0.30319上で動作していることが分かる。また、プロセスIDをそのまま指定した場合にはそのプロセスで利用されているCLRのバージョンが表示されることも分かる。


 clrverコマンドを使うと、手元のPCにインストールされているCLRのバージョンがどれかを簡単に調べられるので覚えておきたい。

参考資料


「Dev Basics/Keyword」のインデックス

Dev Basics/Keyword

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る