我有一个用Parallels创建的Windows 11 Pro(版本22H2(64位ARM虚拟机(版本18.0.1(53056((
我为ARM安装了net core 5和6(SDK和托管捆绑包(
我创建了一个新的net core web应用程序,但当我开始调试IIS Express时,它没有启动,事件查看器错误为:
模块DLL的C:\Program Files\IIS\Asp.Net核心由于配置原因,无法加载模块\V2\aspnetcorev2.dll问题当前配置仅支持加载生成的图像对于AMD64处理器体系结构
我尝试更改应用程序URL端口号,删除.vs文件夹和IIS调试,而不是IIS Express
总是相同的错误
我写了一篇关于Windows 11 ARM64完整IIS和ASP.NET Core的非常详细的文章。但是IIS Express场景似乎有所不同。
当我有时间完成更多的调查时,我会回去做一个完整的回答。
到目前为止,为未来的读者提供了一些有趣的事实
C:Program FilesIIS Expressiisexpress.exe
是ARM64X可执行文件C:Program FilesIIS ExpressAsp.Net Core ModuleV2
下的ASP.NET核心模块文件是纯ARM64- 根据您发布的错误消息,
C:Program FilesIISAsp.Net Core ModuleV2aspnetcorev2.dll
可能是纯ARM64,而IIS Express工作进程似乎以x64运行
您必须提供更多信息,比如您在这个VM上到底安装了什么,因为
- .NET 5/6不支持ARM64,因此安装它们只会将x64位添加到`C:\Program Files\IIS\Asp.NET Core Module\V2`中。这与3相矛盾。我的猜测是你安装了.NET 7位
- 同样有趣的是,为什么IIS Express工作进程尝试从
C:Program FilesIISAsp.Net Core ModuleV2
加载ASP.NET核心模块位。这毫无意义,因为如果您读取C:Program FilesIIS ExpressAppServerapplicationhost.config
(VS创建所有其他配置文件的模板(,它默认指向C:Program FilesIIS ExpressAsp.Net Core ModuleV2
。在谈到这个问题之前,一定有一些事情你没有透露
您也没有提到您正在使用的Visual Studio版本。这也可能导致这个问题。