专栏首页walterlv - 吕毅的博客使用 PowerShell 获取 CLR 版本号

使用 PowerShell 获取 CLR 版本号

使用 PowerShell 获取 CLR 版本号

2017-09-27 16:24

在我之前写的一篇文章.NET Framework 4.x 程序到底运行在哪个 CLR 版本之上中,我们说到 CLR 版本和 .NET Framework 基础库之间是有差别的,其版本号更是有差别的。不过其中并没有给出方法获取 CLR 的版本号。本文将给出几种方便的获取 CLR 版本号的方法。


写代码获取

.NET Framework 的 System.Environment 类型的 Version 属性直接可以获取到版本号。于是只需要简单写一个控制台程序即可获取。

Console.WriteLine($"{Environment.Version}");

以上只写关键的一行,其他类啊、Main 函数啊、Console.ReadKey 的都自行脑补即可。因为这不是本文重点。

在我的 Windows 10 创造者更新 1703 上得到的结果是:4.0.30319.42000

用 PowerShell 获取

考虑到 PowerShell 可以直接使用到 .NET Framework 中的类型,于是上面的代码很容易直接翻译成 PowerShell 脚本:

PS C:\Users\lvyi> [Environment]::Version

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      30319  42000

上面的第一行是脚本,后面全是输出,本文之后的 PowerShell 代码部分都是这样。

可以看到,虽然格式不同,但依然拿到了跟我们写代码一模一样的结果。

本文只是一个引子,你可以拿着 PowerShell 去调用其他 .NET Framework 的类和方法,根本不需要打开 Visual Studio 编译,非常方便!

不过既然是 PowerShell,那就有更多可以尝试的方法,比如说直接拿 PowerShell 的全局变量:

PS C:\Users\lvyi> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.15063.608
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.15063.608
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

如果觉得杂乱项太多,直接取里面的 CLRVersion 即可:

PS C:\Users\lvyi> $PSVersionTable.CLRVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      30319  42000

本文会经常更新,请阅读原文: https://walterlv.com/post/powershell/2017/09/28/get-clr-version-via-powershell.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )

    2018-09-13 12:59

    walterlv
  • .NET Core 和 .NET Framework 中的 MEF2

    发布于 2018-01-17 15:41 更新于 2018-09...

    walterlv
  • 各个版本 Windows 10 系统中自带的 .NET Framework 版本

    发布于 2017-10-17 02:49 更新于 2018-06...

    walterlv
  • “本届IJCAI审稿宇宙最烂”,顶会放榜引吐槽,登上知乎热榜

    一个人工智能的顶级会议,出现在知乎的热榜上:“如何看待IJCAI 2019录用结果?”

    量子位
  • 日志-nginx的access_log与error_log

    3."GET /data/upload/shop/common/loading.gif HTTP/1.0"  :

    拓荒者
  • [译] 从 Android Studio 切换至 D8 dexer

    Android 开发者
  • 机器学习在安全攻防场景的应用与分析

    一、引言 随着人工智能(artificialintelligence, 简称AI)的技术突破,现今的计算技术可从大数据平台中挖掘出有价值的信息,从而为人们在决策...

    FB客服
  • 什么是纯流量卡,物联卡好用吗?怎么闭坑?

    流量卡就是物联网卡,俗称:流量卡、物联卡、只有上网功能,没有语音和短信功能的卡90%都是物联卡。什么大圣卡,金象卡,红桃卡,黑桃卡,小象卡,龙神卡,普天卡,这些...

    用户7152677
  • 被逼上“梁山”,运营商该如何转向流量经营?

    2015年对于运营商而言,是兵荒马乱的一年。OTT业务的影响愈发明显、4G时代到来三大运营商竞争趋激、虚拟运营商已成气候、政府反腐行动的波及、骚扰电话整治直接影...

    罗超频道
  • 企业做网络推广的标准方案

    时间来到了2020年,由于新冠病毒的影响,人与人之间的交往受到了限制,在网络上做推广显示得更加重要了。对于网络推广接触不多的企业,急迫想了解怎样做网络推广,下面...

    蜘蛛林

扫码关注云+社区

领取腾讯云代金券