无需依赖dotnet命令,如何检测PowerShell 7.32所用.NET版本?
查找PowerShell 7.x使用的.NET版本方法
你安装的PowerShell 7.3.2属于自包含部署包,本身内置了.NET运行时,无需依赖系统全局安装的.NET环境,所以找不到dotnet.exe是正常情况。可以通过以下几种PowerShell内置方式直接获取对应版本:
方法1:读取内置版本变量
在PowerShell中执行命令,直接获取.NET运行时版本:$PSVersionTable.DotNetRuntimeVersion该字段会直接返回PowerShell当前依赖的.NET运行时具体版本号。
方法2:通过.NET类获取框架描述
执行命令获取更完整的框架信息:[System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription输出示例:
.NET 7.0.13,能明确看到对应的.NET版本。方法3:检查安装目录的运行时文件版本
如果以上方法失效,可通过PowerShell安装目录的文件版本推断:- 先获取PowerShell安装路径:
$PSHome - 读取目录内
hostfxr.dll的产品版本:(Get-Item (Join-Path $PSHome 'hostfxr.dll')).VersionInfo.ProductVersion
该版本号与PowerShell依赖的.NET运行时版本完全对应。
- 先获取PowerShell安装路径:
内容的提问来源于stack exchange,提问作者N0rdacian
相关产品推荐
相关产品推荐

