首页 新闻 会员 周边

如何解决Arm架构下的Windows系统中,IIS部署.NET失败的问题?

0
悬赏园豆:30 [已解决问题] 解决于 2023-05-21 22:05

系统:Windows
架构:Arm (不是平常用的Windows AMD架构)
场景:MacBook Arm芯片系统上的虚拟机只能安装Arm版本Windows
框架:.NET7

新建的demo,纯模版项目,不含任何业务和其他库,发布后启动网站显示503
打开事件查看器错误信息如下:

由于配置问题,无法加载模块 DLL“C:\Program Files\IIS\Asp.Net Core
Module\V2\aspnetcorev2.dll”。当前配置仅支持加载为 AMD64 处理器架构构建的映像。数据字段包含错误号。要了解有关此问题的更多信息,包括如何解决这类处理器架构不匹配错误,请参见 http://go.microsoft.com/fwlink/?LinkId=29349。

PS:错误信息里给的链接已不可用,估计是很早之前的错误提示

困扰有一段时间了,百度谷歌也好,github或者chatGPT也好,均未找到合适解决方案
这块的问题出在IIS运行时,没有Arm架构版本的
https://dotnet.microsoft.com/zh-cn/download/dotnet/7.0
上面的连接是官方下载.NET运行时的地址,关于IIS 运行时支持 (ASP.NET Core Module v2)

Windows那一行没有Arm架构的安装程序,只有x64和x86的,第二列有个二进制文件,里面有Arm64,但是我下载以后,运行里面的可执行文件,安装弹窗一闪而逝。

这块的问题具我分析可能出在2个地方:
1、虚拟机里使用的镜像有问题,需要更换正确的(比如其他来源、或者相对较低版本)
2、目前不支持Windows Arm架构下的IIS运行时


代替方案有很多:不用IIS,反向代理服务器多得是,docker也很高效,或者使用云服务器等等
这里主要是想咨询一下是否有使用MacBook开发.NET的道友,是否也遇到过这个问题,以及如何解决的,抱着研究和交流的心态,希望可以分享一二

顾星河的主页 顾星河 | 大侠五级 | 园豆:7173
提问于:2023-05-21 21:57
< >
分享
最佳答案
0

enmmmmmmm 似乎找到答案了,目前还不支持

https://learn.microsoft.com/en-us/answers/questions/1183655/unable-to-run-net-4-8-apps-on-iis-using-arm-proces?orderby=newest

IIS url 重写模块尚未移植到 arm,因此尚不可用。
注意:Arm 上的 Windows 开发人员支持相当新且不完整。虽然MS创建了一个专用的硬件设备和开发工具包,但它的表现仍然低于M1 / Parallels / Windows 11。

顾星河 | 大侠五级 |园豆:7173 | 2023-05-21 22:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册