如何确定是否已安装.NET Core

wel*_*tty 249 c# .net-core asp.net-core

我知道对于旧版本的.NET,您可以通过以下方式确定是否安装了给定版本

https://support.microsoft.com/en-us/kb/318785  
Run Code Online (Sandbox Code Playgroud)

是否有官方方法确定是否安装了.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 
Run Code Online (Sandbox Code Playgroud)

在我的Windows 7机器上版本号为1.0.11123.0,但我在Windows 10机器上看不到相同的东西.

Sea*_*ean 295

很好的问题,答案并不简单.没有"向我展示所有.net核心版本"命令,但有希望.

编辑:

我不确定它何时添加,但info命令现在在其输出中包含此信息.它将打印出已安装的运行时和SDK,以及其他一些信息:

dotnet --info

如果您只想查看SDK: dotnet --list-sdks

如果您只想查看已安装的运行时: dotnet --list-runtimes

我在Windows上,但我猜这可以在Mac或Linux上使用当前版本.

此外,您可以参考.NET Core Download Archive来帮助您破译SDK版本.


老年人信息:这一点以下的所有内容都是旧信息,不太相关,但可能仍然有用.

查看已安装的运行时:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App在Windows资源管理器中打开

请参阅已安装的SDK:

C:\Program Files\dotnet\sdk在Windows资源管理器中打开

(位置来源:开发人员的博客)


此外,您可以通过在命令提示符处发出以下命令来查看安装的最新 Runtime和SDK版本:

dotnet 最新的运行时版本是列出的第一件事. 免责声明:这不再有效,但可能适用于旧版本.

dotnet --version 最新的SDK版本 免责声明:显然,这可能会受到任何global.json配置文件的影响.


在macOS上,您可以使用以下命令检查.net核心版本.

ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/
Run Code Online (Sandbox Code Playgroud)

在Ubuntu或Alpine上:

ls /usr/share/dotnet/shared/Microsoft.NETCore.App/
Run Code Online (Sandbox Code Playgroud)

它将列出已安装版本名称的文件夹.

  • 在macOS上:`ls/usr/local/share/dotnet/shared/Microsoft.NETCore.App /` (15认同)
  • `dotnet --version` 列出了正在使用的 SDK,默认情况下是最新的,但并非总是如此。如果您的文件夹结构中有 global.json 文件,它将显示 global.json 中设置的任何版本,而不是最新版本。 (3认同)

And*_*toy 163

使用Powershell:

运行时:

(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'shared\Microsoft.NETCore.App')).Name
Run Code Online (Sandbox Code Playgroud)

SDK的:

(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'sdk')).Name
Run Code Online (Sandbox Code Playgroud)

  • 这真的很酷.但我们应该简单地使用[Chiramisu的回答](/sf/answers/3280079911/). (8认同)
  • 我可以确认这在Windows Server 2016和Windows 10上完美运行. (5认同)
  • 在Windows 10上的PowerShell中工作,但我更喜欢其他答案中建议的`dotnet --info`。 (3认同)
  • dotnet命令不是只有安装了SDK才可用吗?这与OP的要求完全相反。 (2认同)

Chi*_*isu 144

没有SDK的仅运行时环境(例如安装了Windows主机软件包的服务器)的正确答案是使用以下命令运行PowerShell:

dotnet --info
Run Code Online (Sandbox Code Playgroud)

根据官方文件:

  • --version选项"打印出使用了.NET核心SDK版本." 因此,如果未安装SDK,则无效.而...
  • --info选项"打印出有关CLI工具和环境,如当前的操作系统,提交SHA的版本,和其他信息的详细信息."

这是另一篇解释.NET Core版本如何工作的官方文章.:)

  • 令人难以置信的是这是真正的答案.它被埋在一堆人们的答案之下,这些人甚至都没有理会正确地阅读这个问题. (9认同)
  • 这比hacky接受的答案更好:( (5认同)
  • `--info` 在我的服务器上不起作用,而 `--version` 可以工作。info 选项给我:“您是要运行 dotnet SDK 命令吗?” 请从以下位置安装 dotnet SDK:http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409` (2认同)

Rob*_*sen 95

您可以检查dotnet.exe是否可用:

where dotnet

然后,您可以检查版本:

dotnet --version

  • 它推出了dotnet CLI版本,而不是运行时..它是两个不同的东西.安装CLI并不意味着安装了运行时,如果它是相同的版本. (33认同)

xam*_*mir 46

确定是否.NET Core在Windows上安装的方法之一是:

  • Windows+R
  • 类型 cmd
  • 在命令提示符下,键入 dotnet --version

dotnet --version

如果.NET Core已安装,我们不应在上述步骤中出现任何错误.

  • 请参阅[上面的评论](/sf/ask/2699714741/)给出相同的答案:它是outpus dotnet CLI版本,而不是运行时..这是两个不同的的东西.安装CLI并不意味着安装了运行时,如果它是相同的版本 (6认同)

Hir*_*ghi 18

(1)如果你在Window系统上.

打开命令提示符.

 dotnet --version
Run Code Online (Sandbox Code Playgroud)

(2)运行以下命令如果您使用的是Linux系统.

dotnet --version

dotnet --info
Run Code Online (Sandbox Code Playgroud)


Hak*_*MK1 14

我主要使用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
Run Code Online (Sandbox Code Playgroud)

在我的一台运行Windows Server 2016和Windows Server Hosting Pack(无SDK)的服务器上,结果如下.没有SDK,运行时是2.0.3.

Microsoft .NET Core Shared Framework Host

Version  : 2.0.3
Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df
Run Code Online (Sandbox Code Playgroud)

干杯!


小智 9

--关于CMD

对于.Net框架

wmic product get description | findstr /C:".NET Framework
Run Code Online (Sandbox Code Playgroud)

对于.Net Core

dotnet --info
Run Code Online (Sandbox Code Playgroud)


Eli*_*gan 8

在Windows上,您只需要打开命令提示符并键入:

dotnet --version
Run Code Online (Sandbox Code Playgroud)

如果安装了.net核心框架,您将获得当前安装的版本

看截图:

在此输入图像描述

  • 这为您提供了 SDK 版本,而不是运行时版本 (3认同)

Man*_*red 8

.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窗口中,如其他答案中已提到的那样.