.NET Coreがインストールされているかどうかを確認する方法


302

古いバージョンの.NETでは、特定のバージョンがインストールされているかどうかを以下の方法で確認できることを知っています。

https://support.microsoft.com/en-us/kb/318785  

.NET Coreがインストールされているかどうかを確認する公式の方法はありますか?

(そして、私はSDKを意味するのではなく、SDKなしでサーバーをチェックして、DotNetCore.1.0.0-WindowsHosting.exeがインストールされているかどうかを確認したいと思います)

私は見えます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET Cross-Platform Runtime Environment\.NET Framework 4.6\Win\v1-rc1 

私のWindows 7マシンではバージョン番号1.0.11123.0ですが、Windows 10マシンでは同じものが表示されません。


1
良い質問。.NET Coreをフォローしている人なら誰でも、ランタイムとSDKのバージョン管理が非常に混乱するトピックであることを知っています。
ショーン

@Chiramisu、以下のチェックされたものはすべて私にとってはうまくいきましたが、いくつかの無関係な実装の詳細のため、Desired State Configurationを使用して、dnc windows server hostingがインストールされていることを確認しました。(つまり、DotNetCore.1.0.0-WindowsServerHosting.exeにはEnsure = Absentがあり、DotnetCore.2.0.5-WindowsServerHosting.exeにはEnsure = Presentがあります)(または、必要に応じて他のファイル名を見つけることができます)。DSCは、適切なパッケージがインストール/アンインストールされていることを確認するためのチェックに関連するすべての混乱を処理します。
ウェロイティ2018年

3
dotnet --list-sdksとdotnet --list-runtimesが私のホストで利用可能で、アクティブバージョンとして2.1.300-preview1-008174
ジャンパーケーキ

回答:


209

Powershellの使用:

ランタイム:

(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'shared\Microsoft.NETCore.App')).Name

SDK:

(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'sdk')).Name

1
@MarceloFilhoどのバージョンをお持ちですか?を使用して取得できます[System.Environment]::OSVersion。上記のコマンドをWindows 10バージョン10.0.15063.0を使用してテストしました。正常に動作します。
Andriy Tolstoy

6
私は、Windowsサーバー2016年とWindows 10上で完全にこの作品を確認することができます
user5389726598465

1
dotnetコマンドは、SDKがインストールされている場合にのみ利用できますか?これは、OPが要求したものとは正反対でした。
Aurimas N.

@AurimasN。いいえ、dotnet.exeコマンドはSDKとランタイムの両方のデプロイメントで使用できます。SDKは、プロジェクト内から「dotnet.exeビルド」と「dotnet.exe run」を実行するために必要な、必要なCLIコマンドと必須ライブラリを追加するだけです。
ジェイソンモック

3
Windows 10のPowerShellで動作しますがdotnet --info、他の回答で提案される方を好みます。
Manfred、

345

すばらしい質問です。答えは単純なものではありません。「すべての.netコアバージョンを表示する」コマンドはありませんが、希望はあります。

編集:

いつ追加されたかはわかりませんが、infoコマンドはこの情報を出力に含めます。インストールされているランタイムとSDK、およびその他の情報が出力されます。

dotnet --info

SDKのみを表示したい場合: dotnet --list-sdks

インストールされているランタイムのみを表示したい場合: dotnet --list-runtimes

私はWindowsを使っていますが、MacやLinuxでも現在のバージョンで動作すると思います。

また、.NET Coreダウンロードアーカイブを参照して、SDKバージョンの解読に役立てることもできます。


古い情報このポイントより下にあるものはすべて古い情報であり、関連性は低くなりますが、依然として役立つ可能性があります。

インストールされているランタイムを見る:

C:\Program Files\dotnet\shared\Microsoft.NETCore.AppWindowsエクスプローラーで開く

インストールされているSDKを参照してください。

C:\Program Files\dotnet\sdkWindowsエクスプローラーで開く

(場所のソース:開発者のブログ


さらに、コマンドプロンプトで次のコマンドを発行して、インストールされている最新のランタイムとSDKのバージョンを確認できます。

dotnet リストにあるのは、最新のランタイムバージョンです。 免責事項:これは機能しなくなりましたが、古いバージョンでは機能する可能性があります。

dotnet --version SDKの最新バージョン 免責事項:どうやらこれの結果は、global.json構成ファイルの影響を受ける可能性があります。


macOSでは、以下のコマンドを使用して.netコアのバージョンを確認できます。

ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/

UbuntuまたはAlpineの場合:

ls /usr/share/dotnet/shared/Microsoft.NETCore.App/

インストールされているバージョン名のフォルダが一覧表示されます。


15
macOSの場合:ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/
Sergii Volchkov 2017年

私の場合、dotnet --versionは1.1.0と言っていましたが、インストールされているバージョンには1.1.2が含まれていました。確認のために、私はdotnet.exeの名前を変更しましたが、dotnet --versionはどのバージョンも見つかりませんでした。その後、1.1.2を再インストールしました。dotnet--versionは、1.1.0だと再び言いました。
William Jockusch 2017

1
@SergiiVolchkovコメントありがとうございます。Macからdotnet core1.0.0をアンインストールする方法を教えてもらえますか?
Pankaj Parkar 2017

1
.NET Core 2.1.0は、「dotnet --list-runtimes」と「dotnet --list-sdks」を追加します
b8adamson

1
dotnet --versionは使用中のSDKをリストしています。これはデフォルトでは最新ですが、常に正しいとは限りません。フォルダー構造にglobal.jsonファイルがある場合、global.jsonに設定されているバージョンではなく、最新のバージョンが表示されます。
マイラヴェンツェル- MSFT

164

Windowsホスティングパッケージがインストールされているサーバーなど、SDKがないランタイムのみの環境の正しい答えは、次のコマンドでPowerShellを実行することです。

dotnet --info

パー公式ドキュメント

  • --versionオプションは、「使用中の.NETのコアSDKのバージョンを出力します。」そのため、SDKがインストールされていないと機能しません。一方...
  • --infoオプション「は、現在のオペレーティングシステムとしてのCLIツールおよび環境に関する詳細な情報を印刷しますが、バージョン、およびその他の情報については、SHAをコミットします。」

.NET Coreのバージョン管理がどのように機能するかを説明する別の公式記事を次に示します。:)


9
信じられないことは、これが実際の答えです。そしてそれは、質問を正しく読むことさえ気にならなかった人々からのたくさんの答えの下に埋もれています。
ジャマー

--info私のサーバーでは機能しませんが、機能します--version。情報オプションを使用すると、次のようになりますDid you mean to run dotnet SDK commands? Please install dotnet SDK from: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
。– ArieKanarie

@ArieKanarie Microsoft .NET Framework修復ツールを使用して修復する必要がある場合があります
ちらみす

106

dotnet.exeが使用可能かどうかを確認できます。

where dotnet

その後、バージョンを確認できます。

dotnet --version

更新:これを行うより良い方法があります。これは他の多くの回答でよく説明されています:

dotnet --info


34
ランタイムではなく、dotnet CLIバージョンをアウトパスします。2つの異なる点があります。CLIがインストールされていても、ランタイムがインストールされていて、同じバージョンであるかどうかは関係ありません。
Aleksanderis

sshランタイムのみがインストールされているサーバーに送信して確認すると、機能しません。代わりにこの回答を参照してください
gldraphael 2017

49

.NET CoreがWindowsにインストールされているかどうかを判別するためのダミーの方法の1つは、次のとおりです。

  • Windows+を押すR
  • タイプ cmd
  • コマンドプロンプトで、次のように入力します。 dotnet --version

dotnet --version

.NET Coreがインストールされている場合、上記の手順でエラーは発生しません。


6
同じ回答に対する上記のコメントを参照してください:ランタイムではなくドットネットCLIバージョンをアウトパスします。それは2つの異なるものです。CLIがインストールされていても、ランタイムがインストールされているとは限りません。同じバージョンの場合
Michael Freidgeim

Nitpcking、ただし、ランタイムをインストールせずに機能するCLIは使用できません。あなたはCLIを持っているのであれば、あなたが持ついくつかのランタイムを、それが完全に異なるバージョンかもしれだけということです。
omajid 2017

@omajidあなたが話しているCLIがわからない。私の回答で言及しているCLIは、Windows 10 x64のデフォルトのコマンドプロンプトCLIであり、特別なインストールなしでインストール/利用可能です
Mohammed Zameer

これは質問に対する答えではありません。
ジャマー

@ジャマー編集の提案を提供することをお勧めします
Mohammed Zameer '12

20

(1)Windowsシステムを使用している場合。

コマンドプロンプトを開きます。

 dotnet --version

(2)Linuxシステムの場合は、次のコマンドを実行します。

dotnet --version

dotnet --info

type dotnet --version-Windows 10ではdotnet --version動作しませんが、動作します。あなたの答えは確かtypeですか、それともタイプミスでしたか?どちらのLinuxコマンドもWin 10で機能します。
アディティア2018

@Aditya typeは、コマンドの一部ではなく、読者への指示であると考えています。一致するように投稿を編集しました。
JohnLBevan

はい、それは指示でした。
Hiren Parghi

15

主にWindows開発マシンとサーバーを使用しています。

(少なくともNET.Core 2.0以上の場合)指摘したいのdotnet --infoは、コマンドプロンプトで実行して、インストールされている最新バージョンに関する情報を取得することだけです。.NET Coreがインストールされている場合は、応答が返されます。

私の開発マシン(Windows 10)では、結果は次のようになります。SDKは2.1.2、ランタイムは2.0.3です。

.NET Command Line Tools (2.1.2)

Product Information:
 Version:            2.1.2
 Commit SHA-1 hash:  5695315371

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.15063
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.2\

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.3
  Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df

Windows Server 2016をWindows Serverホスティングパック(SDKなし)とともに実行しているサーバーの1つで、結果は次のようになります。SDKはありません。ランタイムは2.0.3です。

Microsoft .NET Core Shared Framework Host

Version  : 2.0.3
Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df

乾杯!


10

次のコマンドは、.NET Core SDK 2.1(v2.1.300)で使用できます。

インストールされているすべての.NET Core SDKを一覧表示するには、次のコマンドを使用します。 dotnet --list-sdks

インストールされているすべての.NET Coreランタイムを一覧表示するには dotnet --list-runtimes

(執筆時点でWindowsでテスト済み、2018年6月3日、および2018年8月23日に再度テスト済み)

2018年10月24日の更新:dotnet --info他の回答ですでに述べたように、より良いオプションはおそらくターミナルまたはPowerShellウィンドウにあります。


私たちは皆学ぶことができます。反対票の理由を知りたいと思っています。おそらく、反対票を投じるときにコメントを残しますか?
マンフレッド

私は反対票を投じませんでしたが、「。NET Core SDKで利用可能な」コマンドについて言及したのではないかと思います。ランタイムのみがインストールされているときに上記のコマンドのどれが機能するかを判別すると、回答が改善されます。
ToolmakerSteve

@ToolmakerSteveはい、それがポイントかもしれません。ただし、SDKがない環境はないので、SDKを削除してその長さに行きたくありません。コメントをありがとうございます。非常に高く評価。
Manfred

5

Windowsでは、コマンドプロンプトを開いて次のように入力するだけです。

dotnet --version

.netコアフレームワークがインストールされている場合、現在インストールされているバージョンを取得します

スクリーンショットを見る:

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


3
これにより、ランタイムバージョンではなくSDKバージョンが提供されます
Silkfire

1

代わりに、あなたはちょうど中を見ることができます

C:\ Program Files \ dotnet \ sdk


0

探す場所は、C:\Program Files\dotnet\shared\Microsoft.NETCore.Appランタイムのバージョンがあるディレクトリを持っているかを確認します。ソース。

ここでの答えの多くは、SDKとランタイムを混同しています。


0

他のすべての答えの後、これは役に立つかもしれません。

Visual Studioでアプリケーションを開きます。ソリューションエクスプローラーでプロジェクトを右クリックします。プロパティをクリックします。アプリケーションをクリックします。「ターゲットフレームワーク」の下のドロップダウンボタンをクリックすると、インストールされているすべてのフレームワークが表示されます。

ところで-あなたは今あなたが望むフレームワークを選ぶかもしれません。


Visual Studio 2017を使用しました。YMMVです。
Baruch Atta

-6

インストールプロセスは必要ありません。

タスクバー(win10)に「VSCore」を固定しているので、それを開き、タスクマネージャーを開きます。「Visual Studio Core」プロセスを選択し、左矢印を展開し、その上に子プロセスの右ボタンを配置して、「ファイルの場所を開く」をクリックします。 "メニュー。

あなたがインストールされている場所を覚えていない場合は、すべてのハードドライブで「Code.exe」ファイルを検索してください。


1
問題は、IDE VS CODEではなく.NET COREについてです。
user5389726598465 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.