.NETバージョンを確認するにはどうすればよいですか?


258

インストールされている.NETのバージョンを確認するにはどうすればよいですか?

コマンドプロンプトで入力できる「java -version」のような単純なものを探しています。これにより、インストールされている現在のバージョンがわかります。

Visual Studioがインストールされていない可能性があることを追加した方がよいでしょう。これは通常、クライアントマシンについて知りたいことです。


2
次のコマンドを実行して実行します。wmic / namespace:\\ root \ cimv2 path win32_product where "name like '%%。NET %%'" get version
HENG Vongkol


回答:


250

入力するだけでいずれかのあなたの最初の行の最新バージョンを提供するために、次のコマンドを。

1. CSC
2. GACUTIL /l ?
3. CLRVER

Visual Studioがインストールされている場合、または.NET Framework SDKがある場合は、SDKコマンドプロンプトからのみ、これらをVisual Studioコマンドプロンプトから実行できます。

4. wmic product get description | findstr /C:".NET Framework"
5. dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

最後のコマンド(5)が出て一覧表示されますすべてのバージョン、.NETの(4.5を除く)がインストールされ、最新のが最初
.NET 4.5がインストールされているかどうかを確認するには、4番目のコマンドを実行する必要があります。

PowerShellコマンドプロンプトの別の3つのオプションを以下に示します。

6.   [environment]::Version
7.   $PSVersionTable.CLRVersion
8.   gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 |
     where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release

最後のコマンド(8)は、.NET 4.5を含むすべてのバージョンを提供します。


6
'CSC'は、Visual Studioコマンドプロンプトからのみ機能します(デフォルト)。また、コンパイラのバージョンが対象とする.NETフレームワークの最大バージョンのみを提供します。-VS2005とVS2008がインストールされている場合、異なるバージョンのCSCは異なるバージョンを報告します。
マットレイシー

15
csc.NET Frameworkのバージョンではなく、C#コンパイラのバージョンを出力します。
ティムウィ2011

4
最後のコマンドで、バージョン4.5が返されませんでした。stackoverflow.com/questions/3487265/…の回答に含まれていました。
lmsurprenant 2015年

2
最後のコマンドは最新バージョンを表示していません。appwiz.cplでバージョンを検索するか、「wmic product」コマンドも役立ちます。windows-commandline.com/find-net-version-on-your-computer
Giri

11
ナンバー8の乾杯!
Lionet Chen 2017

330

正確なバージョンの.NETバージョンをcmdプロンプトからマシンにインストールする簡単な方法があります。次の指示に従ってください。

  1. コマンドプロンプトを開きます(つまり、Windows + R→「cmd」と入力します)。
  2. 次のコマンドをすべて1行で入力します。

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"

(これにより、すべての.NETバージョンがリストされます。)

  1. 最新の.NET 4バージョンを確認する場合。
  2. 次の指示を1行で入力します。

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version

下の添付画像を参照して、どのように表示されるかを確認してください。

ここに画像の説明を入力してください


4
これは、1つの簡単なコマンドだけでマイナーバージョンも取得できるため、これが最も簡単で正確なもの(最後に "* \ v4 \ Full"が付いている)であることがわかりました。
IgnasVyšnia16年

1
いいね。ユーザーのPCで機能するものが欲しかったのです。ありがとう!
ケリー


6
いいですが、私のWindows 7マシンにインストールされている
4.5、4.6、4.7の

かなり正確ではありません。[コントロールパネル]> [プログラムと機能]を​​確認しましたが、.NETの兆候はありません。ただし、コマンドを実行すると、出力HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4.0が表示されます。おそらく、.NETがマシンに一度インストールされ、アンインストールされましたが、レジストリはクリーンアップされませんでした
ニュートンファン01


30

コマンドプロンプトに移動する前に、次の手順に従ってください...

マイコンピュータを開く→「C:」ドライブをダブルクリック→「Windows」をダブルクリック→「Microsoft.NET」をダブルクリック→「フレームワーク」をダブルクリック」を →このフォルダ内に、「v1.0.3705」のようなフォルダがあり、 /または「v2.0.50727」および/または「v3.5」および/または「v4.0.30319」。

最新の.NETバージョンは最大のv番号フォルダーにあるため、v4.0.30319が使用可能であれば、最新の.NETフレームワークを保持できます。ただし、v4.0.30319は、.NET Frameworkバージョン4.0を使用しているという意味ではありません。v4.0.30319はVisual C#コンパイラのバージョンです。したがって、.NETフレームワークのバージョンを見つけるには、次の手順を実行します。

コマンドプロンプトに移動し、次のパスに従います。

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319(または最も大きいv番号のフォルダー)

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319> csc.exe

出力:

Microsoft(R).NET Framework 4.5の Microsoft(R)Visual C#コンパイラバージョン4.0.30319.17929 Copyright(C)Microsoft Corporation。全著作権所有。

以下の例:

ここに画像の説明を入力してください


2
かなり良いが、出力は、少なくとも私のサーバー上で異なっている-いいえ、メッセージが含まれていた「のための」:lh4.googleusercontent.com/-p7Fu5GDj0cg/UywSqPTdQjI/AAAAAAAAALQ/...
Nenotlep

2
ディレクトリの種類を変更するにはcd C:\Windows\Microsoft.NET\Framework\v4.0.30319と入力しcsc.exe、希望が誰かを助けるようにします。
shaijut 2016年

1
制限されたユーザーアカウントでログインすると、ほとんどの場合効率的です。
Rzassar

10

この回答は.NET Coreにのみ適用されます。

dotnet --version選択したターミナルに入力すると、使用中の.NET Core SDKのバージョンが出力されます。

dotnetコマンドの詳細については、こちらをご覧ください。


15
.NET Coreにのみ適用されます。
スニル2018年

9

インストールされているフレームワークのバージョンは、インストールされているサービスパックと修正プログラムによって異なります。詳細については、このMSDNページをご覧ください。%systemroot%\Microsoft.NET\Frameworkバージョンを取得するために調べることを提案します。

Environment.Versionは、CLRのバージョンをプログラムで提供します。

これはCLRのバージョンであり、インストールしたフレームワークの最新バージョンと必ずしも同じではないことに注意してください(.NET 3.0と3.5はどちらもCLRのv2を使用しています)。


Environment.Versionは、アプリケーションのバージョンを示しているようです。たとえば、LinqPadから、実行されている.NETバージョンを見つけたいと思います。これにより、.NETバージョンではなく、LinqPadバージョンが表示されます
Naomi

@Naomi:いいえ、CLRのバージョンを示します。ドキュメントから:「共通言語ランタイムのメジャー、マイナー、ビルド、およびリビジョン番号を説明するVersionオブジェクトを取得します。」
adrianbanks 2013

このオブジェクトに表示されるはずのものは何ですか?2.0.50727.5472 2マイナー0ビルド50727リビジョン5472 MajorRevision 0マイナーリビジョン5472が表示されます。これは、CLRバージョンランタイムのようには見えません
Naomi

LinqPadの最新バージョンをロードしましたが、バージョン4.0.30319.18052を取得しています。以前のバージョンは.NET 3.5バージョンを対象としていました。だから、私はまだ少し混乱しています-それは確かにCLRバージョンを示していますか?
Naomi

1
@Naomi:はい、CLRバージョンを表示します。2.0.50727.5472は.Net 2.0 CLRのバージョンであり、.Net 3.0および3.5でも使用されます。4.0.30319.18052は.Net 4.0であり、バージョン番号が異なります。
adrianbanks 2013

8

MSDNは、レジストリから確認する方法について、ここで非常に詳しく説明してます。

レジストリを表示して.NET Frameworkのバージョンを確認するには(.NET Framework 1〜4)

  1. [スタート]メニューの[ファイル名を指定して実行]を選択します。
  2. [名前]ボックスにregedit.exeと入力します。regedit.exeを実行するには、管理者の資格情報が必要です。
  3. レジストリエディターで、次のサブキーを開きます。

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP

インストールされているバージョンは、NDPサブキーの下に表示されます。バージョン番号は、Versionエントリに格納されます。.NET Framework 4の場合、VersionエントリはClientまたはFullサブキー(NDPの下)、または両方のサブキーの下にあります。

レジストリを表示して.NET Frameworkのバージョンを見つけるには(.NET Framework 4.5以降)

  1. [スタート]メニューの[ファイル名を指定して実行]を選択します。
  2. [名前]ボックスに、regedit.exeと入力します。regedit.exeを実行するには、管理者の資格情報が必要です。
  3. レジストリエディターで、次のサブキーを開きます。

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4 \ Full

Fullサブキーへのパスには、.NET Frameworkではなく、サブキーNet Frameworkが含まれていることに注意してください。

という名前のDWORD値を確認しますRelease。リリースDWORDの存在は、.NET Framework 4.5以降がそのコンピューターにインストールされていることを示します。

ここに画像の説明を入力してください

:上記のスナップショットの最後の行は、読み取りをクリップしましたOn all other OS versions: 461310。スクリーンショットを撮るときに情報が途切れないようにできる限りレベルを上げましたが、テーブルが大きすぎました。


6

コマンドプロンプトを開いて次の2つのコマンドを入力すると、現在のマシンにインストールされているすべてのフレームワークバージョンが一覧表示されます(各バージョンは、このディレクトリ内の別のディレクトリに保存されます)。

cd %systemroot%\Microsoft.NET\Framework

dir /A:D

8
これは誤解を招く可能性があるためお勧めしません。4.0 => 4.5.2にアップグレードした場合、ディレクトリにはv4.0.30319しか表示されない場合があります。Sunimal Kaluarachchiの例を参照してください。
ダイナ2015年

6

コマンドラインで次のように入力するだけです。

dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

dotnetのバージョンが最大数として表示されます。


1
4.0までのすべてのバージョンが表示されますが、4.5などは表示されません。
pinowthebird 2018年

4

インストールされているバージョンをコマンドラインで取得するには、net-versionを使用することをお勧めします。

  • それはちょうどだ単一のバイナリ
  • Microsoft提供するガイドラインを使用して、バージョン情報を取得します。
  • SDKをインストールする必要はありません。
  • または、Visual Studioコマンドプロンプト。
  • regeditを使用してレジストリキーを自分で探す必要はありません。必要に応じて、コマンドラインツールで出力をパイプ処理することもできます。

ソースコードはgithub.comで入手できます

完全な開示:このツールは欲求不満から自分で作成しました。


その(不完全な)バージョン情報のセットで十分であれば、より強力になります。
Dan Esparza 2017年

@Shivaあなたは、あなたがそのコマンドがすべてを示していると思っていることを示し、私はあなたに敬意を表しません。マイクロソフトが提供するガイドラインのリンクをご覧ください。例:クエリで、.NET 4.6.1がインストールされていることが示されません。また、「CDF」がインストールされていることを示しています。これは.NET Frameworkバージョンではありません。
Dan Esparza 2017年

4

これをかなり頻繁に(私が行う傾向があるように)行う場合は、次のようにデスクトップにショートカットを作成できます。

  1. デスクトップを右クリックし、[ 新規] → [ ショートカット ]を選択します
  2. 場所フィールドに、次の文字列を貼り付けますpowershell.exe -noexit -command "gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release"(これはBinoj Antonyの投稿からです)。
  3. ヒット次へ。ショートカットに名前を付けて[ 完了]をクリックします。

(注:これが4.5で機能するかどうかはわかりませんが、4.6以前のバージョンで機能することを確認できます。)


バージョン1.0および1.1は、%systemroot%\ Microsoft.NET \ Framework \フォルダーに存在しますが、NET Frameworkセットアップキーには表示されません。
samis

4

以下は、私が参考にして使用したPower Shellスクリプトです。

https://stackoverflow.com/a/3495491/148657

$Lookup = @{
    378389 = [version]'4.5'
    378675 = [version]'4.5.1'
    378758 = [version]'4.5.1'
    379893 = [version]'4.5.2'
    393295 = [version]'4.6'
    393297 = [version]'4.6'
    394254 = [version]'4.6.1'
    394271 = [version]'4.6.1'
    394802 = [version]'4.6.2'
    394806 = [version]'4.6.2'
    460798 = [version]'4.7'
    460805 = [version]'4.7'
    461308 = [version]'4.7.1'
    461310 = [version]'4.7.1'
    461808 = [version]'4.7.2'
    461814 = [version]'4.7.2'
    528040 = [version]'4.8'
    528049 = [version]'4.8'
}

# For One True framework (latest .NET 4x), change the Where-Oject match 
# to PSChildName -eq "Full":
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
  Get-ItemProperty -name Version, Release -EA 0 |
  Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
  Select-Object @{name = ".NET Framework"; expression = {$_.PSChildName}}, 
@{name = "Product"; expression = {$Lookup[$_.Release]}}, 
Version, Release

上記のスクリプトはレジストリを使用し、マシンにインストールされている.Net FrameworkとともにWindowsアップデート番号を提供します。

リファレンス:https : //docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by- query-the-registry-in-code-net-framework-45-and-later

これは、2つの異なるマシンでそのスクリプトを実行したときの同じ結果です

  1. .NET 4.7.2がすでにインストールされている場合:

ここに画像の説明を入力してください

  1. .NET 4.7.2がインストールされていない場合:

ここに画像の説明を入力してください


3

インストールされている.netフレームワークのバージョンを見つけるのに、とても混乱していますか?

Windows>検索> Visual Studio Installer>インストールされているVSのバージョンの場合は、[もっと見る]> [変更]> [個々のコンポーネント]をタップして、そこに表示します。

ここに画像の説明を入力してください



1

clrver素晴らしいものです。.NETプロンプトで実行するだけで、使用可能なすべてのフレームワークバージョンが一覧表示されます。


3
このツールを使用するには、.NETフレームワークだけでなく、Visual Studioもインストールする必要があります。OPは、Visual Studioがインストールされていない可能性があることを示しました。
Dan Esparza 2016年

また、すべて(またはほとんど)のバージョンは表示されません。私のWin7 PCではV2.0と4.0のみが表示されますが、上記の他の方法のいくつかはバージョンも表示します:3.0、3.5、4.5、4.5.1、4.5.2、4.6.1および4.7。
Zeek2

1
@Zeek clrverは、インストールされている.netランタイムを表示します。これは .netバージョン共有できます。参照してください。どちらの.NET Frameworkのバージョンがインストールされている決定しますする方法、あなたが実行されている.NETのバージョン(2.0、4.5、4.5.1または4.5.2)の特定
SAMIS

1

Windows 10 1607を実行していて、.net 4.7を探している人向け。上記のすべてを無視してください。

レジストリC:\ Windows \ Microsoft.NETフォルダー、またはインストールされているプログラムにありませんリスト、または同じリストのWMIC表示にはあり。

「インストール済みアップデート」KB3186568を探します。


1
Microsoftによって文書化されているように、レジストリにありますHKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full- Release値はなり460798W10 1607で4.7のために
リチャードみなし

そうではない。「フル」キーは存在しません。
skrie 2017年

1
それはそうです。私は1607を実行していますが、Full現在キーを確認しています!
Richard Deeming


0

いくつかの.Netアプリ(ex。webアプリなど)を開発している場合、1行のエラーコード(invoke関数名の呼び出しなど)を作成してページをリロードすると、.Netバージョンが表示されますここに画像の説明を入力してください


おそらく最もクリーンな方法ではありませんが、確かに私が完全に忘れていたオプションです。GACUTIL /l ?(開発者)powershellの単純なものでも同じ結果になります。
B--rian

-1

正確なバージョンの.NETバージョンをcmdプロンプトからマシンにインストールする簡単な方法があります。次の指示に従ってください。

コマンドプロンプトを開き(Windows + R→「cmd」と入力)、次のコマンドをすべて1行で入力します:%windir%\ Microsoft.NET \ FrameWork、次に最新バージョン番号のディレクトリに移動します。

http://dotnettec.com/check-dot-net-framework-version/を参照してください


あなたの答えを追跡しようとしているときに、私はこのエラーを取得しています:'C:\Windows\Microsoft.NET\FrameWork' is not recognized as an internal or external command, operable program or batch file.
pavjel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.