我如何找到.NET版本?

时间:2009-10-14 10:22:07

标签: .net

如何找出安装了哪个版本的.NET?

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

我最好补充说Visual Studio可能没有安装 - 这通常是我想知道的有关客户机的事情。

19 个答案:

答案 0 :(得分:281)

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

  1. 打开命令提示符(即Windows + R→键入“cmd”)。
  2. 在一行中输入以下命令:
  3. reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"

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

    1. 如果要检查最新的.NET 4版本。
    2. 在一行中输入以下说明:
    3. reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version

      请在下面找到附图,了解它的显示方式。

      Enter image description here

答案 1 :(得分:220)

只需输入以下命令的任意一个,即可在第一行中找到最新版本。

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

如果安装了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?.*

最后一个命令(5)将列出安装的所有版本(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

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

答案 2 :(得分:37)

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

答案 3 :(得分: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。保留所有权利。

以下示例:

Enter image description here

答案 4 :(得分:9)

对于安装的框架版本,具体取决于您安装的Service Pack和修补程序。有关详细信息,请查看this MSDN page。它建议查看%systemroot%\Microsoft.NET\Framework以获取版本。

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

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

答案 5 :(得分:6)

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

cd %systemroot%\Microsoft.NET\Framework

dir /A:D

答案 6 :(得分:6)

MSDN详细介绍了如何从注册表中检查它here

  

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

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

         

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP

  6.         

    已安装的版本列在NDP子项下。版本   number存储在Version条目中。对于.NET Framework 4   版本条目位于客户端或完整子项(在NDP下)或下   两个子项。

         

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

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

           

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

    6.         

      请注意,Full子项的路径包含子项Net   框架而不是.NET Framework

           

      检查名为Release的DWORD值。发布的存在   DWORD表示.NET Framework 4.5或更高版本   安装在那台电脑上。

           

      enter image description here

注意:上面快照中被截断的最后一行读取On all other OS versions: 461310。我尝试了最好的水平,以避免在截取屏幕截图时剪切信息,但桌子很大。

答案 7 :(得分:4)

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

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

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

答案 8 :(得分:3)

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

  • 这只是一个single binary
  • 它使用guidelines provided my Microsoft 获取版本信息。
  • 不需要安装SDK。
  • 或Visual Studio命令提示符。
  • 它不要求您使用regedit并搜索注册表项 你自己。您甚至可以在命令行工具中管道输出if 你需要。

源代码可在github.com

上找到

完全披露:我是出于挫败感自己创建了这个工具。

答案 9 :(得分:3)

在您的终端类型dotnet --version

答案 10 :(得分:2)

这是我通过引用以下内容使用的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

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

参考:https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by-querying-the-registry-in-code-net-framework-45-and-later

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

  1. 已安装.NET 4.7.2的位置:

enter image description here

  1. 未安装.NET 4.7.2的位置:

enter image description here

答案 11 :(得分:1)

对于任何运行Windows 10 1607 并且正在寻找 .net 4.7 的人。 无视以上所有内容。

它不在注册表 C:\ Windows \ Microsoft.NET 文件夹或已安装程序列表或WMIC显示相同的列表。

寻找"已安装的更新" KB3186568。

答案 12 :(得分:1)

尝试Scott Hanselman的.NET Checker

答案 13 :(得分:1)

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

  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's post)。
  3. 点击下一步。为快捷方式命名,完成
  4. (注意:我不确定这是否适用于4.5,但我可以确认它适用于4.6和4.5之前的版本。)

答案 14 :(得分:1)

我的天哪,找到安装的.net框架的版本太乱了?谢谢MS

Windows>搜索> Visual Studio安装程序>对于VS的已安装版本,请点击更多>修改>单个组件,然后在其中查看它:

enter image description here

答案 15 :(得分:1)

clrver非常出色。只需在.NET提示符下执行它,它将列出所有可用的框架版本。

答案 16 :(得分:0)

每个Microsoft的powershell:

Get-ChildItem "hklm:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | % { $_ -ge 394802 }

请参阅此链接中的表格以获取搜索特定版本的DWORD值:

https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#ps_a

答案 17 :(得分:0)

如果您正在开发一些.Net应用程序(例如Web应用程序),您可以制作1行错误代码(如调用错误的函数名称)并重新加载您的页面,.Net版本将显示{{3 }}

答案 18 :(得分:-1)

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

打开命令提示符(即Windows + R→键入“cmd”)并在一行中键入以下命令:%windir%\ Microsoft.NET \ FrameWork,然后导航到具有最新版本号的目录

请参阅http://dotnettec.com/check-dot-net-framework-version/