Windows 11 ARM虚拟机IIS调试启动失败,架构不兼容报错求助
解决ARM64 Windows虚拟机中IIS加载ASP.NET Core模块失败的问题
错误根源
The Module DLL 'C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a AMD64 processor architecture
该错误核心原因是:你的Windows 11为ARM64架构,但IIS尝试加载的aspnetcorev2.dll是AMD64版本,架构不匹配导致加载失败。即便安装了ARM版.NET SDK,托管捆绑包可能未正确部署或IIS配置未指向ARM64版本的模块。
解决方案
1. 验证并重装ARM64版ASP.NET Core托管捆绑包
- 查看路径
C:\Program Files\IIS\Asp.Net Core Module\V2,确认是否存在arm64子目录,且目录内有aspnetcorev2.dll。 - 若不存在该子目录,说明误装了AMD64版托管捆绑包:
- 在「设置→应用→应用和功能」中卸载对应.NET 5/6的托管捆绑包。
- 重新下载并安装ARM64架构的.NET 5/6托管捆绑包(匹配已安装的SDK版本)。
2. 修正IIS模块的架构路径
- 打开IIS管理器,选中服务器节点,点击「模块」。
- 找到
AspNetCoreModuleV2,右键选择「编辑」,将模块路径修改为ARM64版本的DLL:C:\Program Files\IIS\Asp.Net Core Module\V2\arm64\aspnetcorev2.dll - 保存配置后重启IIS服务(执行命令:
iisreset)。
3. 调整项目编译目标架构
- 在Visual Studio中打开项目,右键项目→「属性」→「生成」。
- 将「平台目标」设置为
ARM64,取消勾选「优先32位」(若存在)。 - 清理并重新生成项目,确保输出为ARM64架构的程序集。
4. 重新注册ASP.NET Core模块到IIS
- 以管理员身份打开命令提示符,执行对应.NET版本的注册命令:
- .NET 6:
dotnet aspnet-codegenerator-iis-registration --force - .NET 5:
dotnet aspnet-codegenerator-iis-registration --force --runtime net5.0
- .NET 6:
- 执行完成后再次重启IIS。
内容的提问来源于stack exchange,提问作者The CoBe
相关产品推荐
相关产品推荐

