当调查应用程序问题时,通常需要先确认目标机器所安装的 .NET Framework 的版本。可以通过如下方式来确认版本号:

通过控制面板安装程序查询

通过查询注册表获取版本信息

在注册表 regedit 中查找键:

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

得到如下结果:

对应结果如下:

 Value of the Release 

Version

378389

.NET Framework 4.5

378675

.NET Framework 4.5.1 installed with

Windows 8.1

378758

.NET Framework 4.5.1 installed on

Windows 8, Windows 7 SP1

379893

.NET Framework 4.5.2

On Windows 10 systems: 393295

On all other OS versions: 393297

  .NET Framework 4.6
 On Windows 10 November Update: 394254

On all other OS versions: 394271

  .NET Framework 4.6.1

通过查看安装目录获取版本信息

通常 .NET Framework 会被安装在:

%WINDIR%\Microsoft.Net\Framework

而对应的结果通常是:

C:\Windows\Microsoft.NET\Framework

使用命令:

dir %WINDIR%\Microsoft.Net\Framework\v* /B

得到目录结果:

但这仅列出了目录,无法判断是否安装了 .NET 4.5 或 .NET 4.5.1 等,还需要直接查看 DLL 版本详细信息。

比如,上图中查看了 mscorlib.dll 的版本号是 4.0.30319.34209,这代表什么呢?

  • 4.0.30319.1 = .NET 4.0 RTM
  • 4.0.30319.269 = most common .NET 4.0 version
  • 4.0.30319.544 = another .NET 4.0 version that a small portion
  • 4.0.30319.17626 = .NET 4.5 RC
  • 4.0.30319.17929 = .NET 4.5 RTM
  • 4.0.30319.18010 = current version on my Windows 8 machine
  • 4.0.30319.18052 = .NET 4.5 on Windows 7 SP1 64-bit
  • 4.0.30319.18408 = .NET 4.5.1 on Windows 7 SP1 64-bit
  • 4.0.30319.34209 = .NET 4.5.2 on Windows 7 PS1 64-bit
  • 4.0.30319.34014 = .NET 4.5.1 on Windows 8.1 64-bit
  • 4.0.30319.34209 = .NET 4.5.2 on Windows 8.1 64-bit

通过使用 WMI 命令获取版本信息

可以通过执行 wmic 命令来获取版本号,命令如下:

wmic product where "Name like 'Microsoft .Net%'" get Name, Version

执行结果:

还可以通过 wmic 命令查询目标机器上安装的所有与 .NET 相关的微软应用,命令如下:

wmic /namespace:\\root\cimv2 path win32_product where "Name like '%%.NET%%'" get Name, Version

执行结果:

参考资料

本文《获取机器安装.NET版本的几种方式》由 Dennis Gao 发表自博客园,未经作者本人同意禁止任何形式的转载,任何自动或人为的爬虫转载行为均为耍流氓。

获取机器安装.NET版本的几种方式的更多相关文章

  1. Struts2中获取HttpServletRequest,HttpSession等的几种方式

    转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java. ...

  2. Action 中获取表单数据的三种方式

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905  冷血之心的博客) Action 中获取表单提交数据 ...

  3. Linux查看操作系统版本的几种方式

    Linux查看操作系统版本的几种方式: 1.uname -a 2.lsb_release -a 3.cat /etc/issue 4.cat /proc/version 5.cat /etc/redh ...

  4. ASP.NET Web API中实现版本的几种方式

    在ASP.NET Web API中,当我们的API发生改变,就涉及到版本问题了.如何实现API的版本呢? 1.通过路由设置版本 最简单的一种方式是通过路由设置,不同的路由,不同的版本,不同的contr ...

  5. js中获取页面元素节点的几种方式

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件二--获取注入的bean的二种方式

    前言: spring容器以xml的形式注入bean,然后可以在类中获取,获取的形式主要有二种:第一种最简单--采用@Resource 或@Autowired关键字在加载spring文件时将bean注入 ...

  7. Spring Boot获取前端页面参数的几种方式总结

    Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库. 获得的方式有很多种,这里稍微总结一下,大致分为以下几种: 1.指定前端url请求 ...

  8. Day20-单表中获取表单数据的3种方式

    1. 搭建环境请参考:http://www.cnblogs.com/momo8238/p/7508677.html 2. 创建表结构 models.py from django.db import m ...

  9. 获取Spring的ApplicationContext的几种方式

    Application Context定义 简单来说就是Spring中的高级容器,可以获取容器中的各种bean组件,注册监听事件,加载资源文件等功能. 具体定义可以参考官网:https://sprin ...

随机推荐

  1. Thrift 2中get用法的详细解析

    Thrift2相比于Thrift 1改动较大,这里不去描述改动的地方,但是它的改动确实比Thrift1方便了很多.但是不能理解的是Thrift2网上的资料和文档相当的少,就以Thrift2操作Hbas ...

  2. Hadoop入门之安装配置(hadoop-0.20.2)

    Hadoop,简单理解为HDFS(分布式存储)+Mapreduce(分布式处理),专为离线和大规模数据分析而设计. Hadoop可以把很多linux的廉价PC组成分布式结点,然后编程人员也不需要知道分 ...

  3. ajax select option 数据。为了下次方便信手拈来!!

    为了下次方便信手拈来!! 示例1 var form = document.forms["maddraddform"]; $(form.province).change(functi ...

  4. sql中的日期查询

    今天的所有数据: 昨天的所有数据: 7天内的所有数据: 30天内的所有数据: 本月的所有数据: 本年的所有数据: 查询今天是今年的第几天: select datepart(dayofyear,getD ...

  5. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  6. memcached总结

    Memcached说明文档 Memcached是什么? Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数 ...

  7. PHP 定界符使用

    在PHP代码中,如果不想一行一行的拼接HTML或者JS的话,那么使用定界符将是最好的帮手! 使用方法: <<<eof .......html/js..... eof; 注意事项:(别 ...

  8. [LeetCode] 423 Reconstruct Original Digits from English

    Given a non-empty string containing an out-of-order English representation of digits 0-9, output the ...

  9. C# XMAL与WPF

    通过老师上课的解释和我下课后的网上查询,我了解到了一些关于这三者的关系.XAML是.NET体系开发程序或者网页时前台编程的一种布局方式或者说开发语言,可以比较自由的用标签的方式进行布局,借鉴了HTML ...

  10. [Leetcode]Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 这题貌似解法挺多,直接用简单的把数倒置,没有考虑数 ...