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

如何通过程序可靠检测.NET 5 AspnetCore Hosting Bundle是否已安装

可行的Windows Hosting Bundle检测方法

以下是经过验证的无残留误判的检测方案:

方法1:检查AspNetCoreModuleV2核心文件是否存在

Windows Hosting Bundle的核心组件是IIS托管模块AspNetCoreModuleV2,卸载时会自动删除对应物理文件,不会有残留。
直接检查固定路径下的文件是否存在即可:
Test-Path "C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll"

  • 返回True说明已安装对应版本的Hosting Bundle
  • 返回False说明未安装

方法2:查询系统已安装程序列表

直接读取系统卸载注册表项匹配安装记录,速度快且无残留干扰,PowerShell命令如下:

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object DisplayName -Like "*Windows Hosting Bundle*" | Select-Object DisplayName, DisplayVersion, InstallDate
  • 有返回结果时,输出内容会直接显示已安装的Hosting Bundle版本和安装时间
  • 无返回结果说明未安装

方法3:验证IIS全局模块注册状态

如果需要确认IIS已正确加载对应模块,可以执行以下PowerShell命令:
Get-WebGlobalModule -Name AspNetCoreModuleV2

  • 返回正常的模块信息且Image字段指向的文件路径真实存在,说明Hosting Bundle安装正常且IIS已注册对应模块
  • 返回报错说明模块未注册,Hosting Bundle未正常安装

原方法失效原因说明

  • dotnet --list-runtimes和dotnet --list-sdks仅会输出系统中存在的.NET运行时/SDK列表,Windows Hosting Bundle自带的AspNetCore运行时和独立安装的.NET运行时没有区别,因此无法通过输出区分
  • 部分版本的Hosting Bundle卸载时不会清除注册表中遗留的AspnetCoreModuleV2项,因此单独查该注册表项会出现误判

内容的提问来源于stack exchange,提问作者Romain Lazaud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:15:04