You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取IIS服务器上每个运行应用对应的.NET版本

有两种主流方案可以实现一次性查询,其中PowerShell方案可一键拿到全量结果,同时兼容.NET Framework和.NET Core/.NET 5+版本的应用:

方法1:PowerShell 批量查询(推荐)

请以管理员身份启动PowerShell,执行对应脚本即可:

1.1 查询所有应用池配置的目标.NET版本

Import-Module WebAdministration
Get-ChildItem IIS:\AppPools | Select-Object name, managedRuntimeVersion, autoStart, state | Format-Table -AutoSize

返回结果中managedRuntimeVersion列即为对应应用池配置的.NET Framework版本,若值为v4.0对应.NET Framework 4.x系列,值为空则代表应用池配置为无托管代码,一般对应.NET Core/.NET 5+应用。

1.2 查询正在运行的应用实际加载的.NET版本

如果需要确认应用实际运行的版本(比如配置了用更高版本运行时兼容执行的场景),可执行以下脚本:

Get-Process w3wp -ErrorAction SilentlyContinue | ForEach-Object {
    $clrVersion = $_.Modules | Where-Object {$_.FileName -like "*clr.dll" -or $_.FileName -like "*coreclr.dll"} | Select-Object -ExpandProperty FileVersionInfo -First 1
    [PSCustomObject]@{
        应用池名称 = $_.MainModule.FileVersionInfo.ProductName.split(' ')[-1].Trim('()')
        实际运行.NET版本 = $clrVersion.ProductVersion
        进程ID = $_.Id
    }
} | Format-Table -AutoSize

该脚本会直接读取运行中的w3wp进程加载的CLR核心模块版本,返回的就是应用实际运行的.NET版本。

方法2:IIS管理器手动查看

如果不方便执行脚本,可手动批量查看:

  • 按下Win+R输入inetmgr回车打开IIS管理器
  • 点击左侧服务器节点下的「应用程序池」菜单
  • 右侧列表的「.NET CLR 版本」列即为对应应用池配置的.NET Framework版本
  • 针对标注「无托管代码」的.NET Core/.NET 5+应用,可进入应用根目录查看runtimeconfig.json文件,确认其目标运行时版本。

注:如果应用配置了使用更高版本的运行时兼容执行,配置文件中的目标版本和实际运行版本可能存在差异,优先以进程加载的运行时模块版本为准。

内容的提问来源于stack exchange,提问作者Doctor Strange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:36:05