我如何知道安装了哪个版本的。net ?
我正在寻找一些像java -version一样简单的东西,我可以在命令提示符中键入,并告诉我当前安装的版本。
我最好补充一点,Visual Studio可能不会被安装——这通常是我想知道的关于客户端机器的事情。
我如何知道安装了哪个版本的。net ?
我正在寻找一些像java -version一样简单的东西,我可以在命令提示符中键入,并告诉我当前安装的版本。
我最好补充一点,Visual Studio可能不会被安装——这通常是我想知道的关于客户端机器的事情。
当前回答
只需键入下面任何一个命令,在第一行中显示最新版本。
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)将列出所有已安装的。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
最后一个命令(8)将给出所有版本,包括。net 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的地方:
适用于运行Windows 10 1607并寻找。net 4.7的用户。 忽略以上所有。
不在注册表中,c:\ windows \微软NET文件夹或“已安装程序”列表或同一列表的WMIC显示。
查找“已安装的更新”KB3186568。
在进入命令提示符之前,请遵循以下步骤…
进入“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 微软公司版权所有。版权所有。
在下面的例子:
只需在命令行中输入以下命令:
dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*
您的dotnet版本将显示为最高的数字。
如果你在你的机器上安装了visual studio,
关于Microsoft Visual Studio,请访问帮助>
你会看到IDE正在使用的。net版本的信息。