我如何找到.NET版本?

sep*_*ang 234 .net

如何找到安装的.NET版本?

我正在寻找像"java -version"这样简单的东西,我可以在命令提示符下键入它并告诉我当前安装的版本.

我最好补充说Visual Studio可能没有安装 - 这通常是我想知道的客户端机器.

Ana*_*hag 304

有一种更简单的方法可以从cmd提示符中获取计算机上安装的确切版本.NET版本.只需按照以下说明操作即可

  1. 打开命令提示符(即Windows + R→键入"cmd").
  2. 全部在一行中键入以下命令:

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

(这将列出所有.NET版本.)

  1. 如果要检查最新的.NET 4版本.
  2. 在一行上输入以下说明:

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

请在下面找到附图,看看它是如何显示的.

在此输入图像描述

  • 很好,但没有显示我的Windows 7机器上安装的4.5,4.6和4.7框架:( (5认同)
  • @Zeek第二个命令就是这样(在Windows 7上测试过) (5认同)
  • 发现这是最容易和最精确的(最后用"*\v4\Full"),因为它只用一个简单的命令就可以获得次要版本. (4认同)

Bin*_*ony 237

只需键入以下任一命令即可在第一行中为您提供最新版本.

1. CSC
2. GACUTIL /l ?
3. CLRVER
Run Code Online (Sandbox Code Playgroud)

如果安装了Visual Studio,则只能从Visual Studio命令提示符运行这些文件,否则如果您有.NET框架SDK,则需要SDK命令提示符.

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

最后一个命令(5)将列出最新安装的.NET的所有版本(4.5除外).您需要运行第4个命令以查看是否已安装.NET 4.5.

PowerShell命令提示符中的另外三个选项如下所示.

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
Run Code Online (Sandbox Code Playgroud)

最后一个命令(8)将为您提供所有版本,包括.NET 4.5.

  • 'csc'未被识别为内部或外部命令 (23认同)
  • `csc`输出C#编译器的版本,而不是.NET Framework的版本. (13认同)
  • 干杯8号! (10认同)
  • 'CSC'只能在Visual Studio命令提示符下工作(默认情况下).它也只会为您提供编译器目标版本的.NET框架的最大版本. - 如果安装了VS2005和VS2008,不同版本的CSC将报告不同的版本. (5认同)
  • 最后一个命令没有返回版本4.5,即使我认为我安装了它.http://stackoverflow.com/questions/3487265/powershell-script-to-return-versions-of-net-framework-on-a-machine的答案包括它. (4认同)
  • 上一个命令未显示最新版本.我们可以在appwiz.cpl中查找版本,或者'wmic product'命令也很有帮助.http://www.windows-commandline.com/find-net-version-on-your-computer/ (2认同)

Phi*_*ney 39

.NET Version Detector是一个GUI实用程序,可显示框架的六个(!)版本中的哪个版本.


小智 28

在转到命令提示符之前,请按照以下步骤操作...

打开我的电脑 →双击" 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)Visual C#编译器版本4.0.30319.17929(适用于Microsoft(R).NET Framework 4.5 版权所有(C)Microsoft Corporation.版权所有.

示例如下:

在此输入图像描述

  • 非常好,但输出至少在我的服务器上是不同的 - 没有包含"for"消息:https://lh4.googleusercontent.com/-p7Fu5GDj0cg/UywSqPTdQjI/AAAAAAAAALQ/UAHe7Q2ImUM/w465-h73-no/clip.png (2认同)
  • **要更改目录**,请输入:cd C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319,然后输入csc.exe,希望对您有所帮助。 (2认同)
  • 当您通过有限的用户帐户登录时,它最有效。 (2认同)

小智 13

打开cmd提示符输入:

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

  • `dotnet --version` 仍然有效,但前提是您安装了 SDK。 (2认同)

adr*_*nks 9

对于安装的框架版本,它取决于您已安装的Service Pack和修补程序.请查看此MSDN页面以获取更多详细信息.它建议寻找%systemroot%\Microsoft.NET\Framework版本.

Environment.Version将以编程方式为您提供CLR的版本.

请注意,这是CLR的版本,并不一定与您安装的最新版本的框架相同(.NET 3.0和3.5都使用CLR的v2).


RBT*_*RBT 8

MSDN 在这里很好地详细介绍了如何从注册表中检查它:

通过查看注册表来查找.NET Framework版本(.NET Framework 1-4)

  1. 在开始菜单上,选择运行。
  2. 在“打开”框中,输入regedit.exe。您必须具有管理凭据才能运行regedit.exe。
  3. 在注册表编辑器中,打开以下子项:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework安装程序\ NDP

NDP子项下列出了已安装的版本。版本号存储在“版本”条目中。对于.NET Framework 4,“版本”条目位于“客户端”或“完整”子项下(在NDP下),或者在两个子项下。

通过查看注册表来查找.NET Framework版本(.NET Framework 4.5及更高版本)

  1. 在开始菜单上,选择运行。
  2. 在“打开”框中,输入regedit.exe。您必须具有管理凭据才能运行regedit.exe。
  3. 在注册表编辑器中,打开以下子项:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework安装程序\ NDP \ v4 \ Full

请注意,Full子项的路径包括子项Net Framework而不是.NET Framework。

检查名为的DWORD值Release。版本DWORD的存在指示该计算机上已安装.NET Framework 4.5或更高版本。

在此处输入图片说明

注意:以上快照中的最后一行已被裁剪为读取On all other OS versions: 461310。我尽了最大努力避免在截取屏幕快照时信息被剪切,但表格太大了。


小智 8

它与java完全一样。打开终端并执行以下命令

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

以下是执行命令的截图


Fel*_*ras 7

此答案仅适用于.NET Core!

dotnet --version在您选择的终端中键入将打印出正在使用的.NET Core SDK的版本。

此处了解有关该dotnet命令的更多信息。

  • 它仅适用于.NET Core。 (14认同)
  • `dotnet --version` 将提供安装的 SDK 的最高版本。`dotnet --list-sdks` 将提供所有已安装的 SDK。`dotnet --list-runtimes` 将提供所有已安装的运行时。 (12认同)

Mic*_*ell 6

如果打开命令提示符并键入以下两个命令,则将列出当前计算机上安装的所有框架版本(每个版本都存储在此目录中的单独目录中).

cd %systemroot%\Microsoft.NET\Framework

dir /A:D
Run Code Online (Sandbox Code Playgroud)

  • 不推荐,因为这可能会产生误导.如果升级了4.0 => 4.5.2,则该目录可能只显示v4.0.30319.参见Sunimal Kaluarachchi的例子. (8认同)

kmo*_*ote 6

如果您经常这样做(正如我倾向于这样做),您可以在桌面上创建一个快捷方式,如下所示:

  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 和 4.5 之前的版本。)


pix*_*xel 6

天哪,找已安装的.net 框架的版本这么麻烦?

Windows > 搜索 > Visual Studio 安装程序 > 对于已安装的 VS 版本,点击更多 > 修改 > 单个组件并在那里查看:

在此处输入图片说明


Rag*_*hav 6

这是我参考使用的Power Shell脚本:

/sf/answers/244684401/

$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
Run Code Online (Sandbox Code Playgroud)

上面的脚本利用注册表为我们提供 Windows 更新号以及计算机上安装的 .Net Framework。

参考:https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-define-which-versions-are-installed#to-find-net-framework-versions-by-在代码 net-framework-45 及更高版本中查询注册表

以下是在两台不同计算机上运行该脚本时的相同结果

  1. 已安装 .NET 4.7.2 的地方:

在此输入图像描述

  1. 未安装 .NET 4.7.2 的地方:

在此输入图像描述


Dan*_*rza 5

要在命令行获取已安装的版本,我建议使用net-version

  • 它只是一个二进制文件
  • 它使用Microsoft 提供指南 来获取版本信息。
  • 它不需要安装 SDK。
  • 或 Visual Studio 命令提示符。
  • 它不需要您自己使用 regedit 和查找注册表项。如果需要,您甚至可以在命令行工具中通过管道传输输出。

源代码可在github.com找到

完全披露:出于沮丧,我自己创建了这个工具。


Ste*_*ior 5

只需在命令行中输入以下内容:

dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*
Run Code Online (Sandbox Code Playgroud)

您的dotnet版本将显示为最高编号。

  • 它显示 4.0 之前的所有版本,但不显示 4.5。 (2认同)