我如何知道安装了哪个版本的。net ?
我正在寻找一些像java -version一样简单的东西,我可以在命令提示符中键入,并告诉我当前安装的版本。
我最好补充一点,Visual Studio可能不会被安装——这通常是我想知道的关于客户端机器的事情。
我如何知道安装了哪个版本的。net ?
我正在寻找一些像java -version一样简单的东西,我可以在命令提示符中键入,并告诉我当前安装的版本。
我最好补充一点,Visual Studio可能不会被安装——这通常是我想知道的关于客户端机器的事情。
当前回答
在进入命令提示符之前,请遵循以下步骤…
进入“C:/Windows/Microsoft. exe”目录。→在这个文件夹中,会有(all或any)这样的文件夹:
v1.0.3705 v2.0.50727 v3.5 v4.0.30319
你最新的。net版本应该在v号最高的文件夹中,所以如果“v4.0.30319”可用,就可以存放你最新的。net框架。但是,“v4.0.30319”并不意味着。net框架版本为4.0。“v4.0.30319”是您的Visual c#编译器版本,因此,为了找到. net框架版本,请执行以下操作。
进入命令提示符并按照以下路径执行:
C:\Windows\Microsoft.NET\Framework\v4.0.30319(或任何v值最高的文件夹)
C:\Windows\Microsoft.NET\框架\v4.0 30319 > csc.exe
输出:
微软(R) Visual c#编译器版本4.0.30319.17929 用于Microsoft (R) .NET Framework 4.5 微软公司版权所有。版权所有。
在下面的例子:
其他回答
如果打开命令提示符并键入以下两个命令,将列出当前机器上安装的所有框架版本(每个版本都存储在该目录中的单独目录中)。
cd %systemroot%\Microsoft.NET\Framework
dir /A:D
如果你经常这样做(就像我一样),你可以在桌面上创建一个如下所示的快捷方式:
右键单击桌面,选择新建→快捷方式。 在location字段中,粘贴这个字符串: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的帖子)。 点击下一步。为快捷方式指定一个名称并完成。
(注意:我不确定这是否适用于4.5,但我可以确认它适用于4.6,以及4.5之前的版本。)
下面是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://learn.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
下面是在两台不同的机器上运行该脚本时的相同结果
已经安装了。net 4.7.2的地方:
未安装。net 4.7.2的地方:
. net Version Detector是一个GUI实用程序,用于显示框架的六个(!)版本中哪个被安装了。
在CMD下执行以下命令:
dotnet——list-sdks
它将显示所有已安装的。net版本,如上图所示。你也可以运行下面的命令来查看正在使用的。net版本:
dotnet——版本