If you don't need to host ASP.NET Core web apps there, go to Control Panel | Programs to uninstall "Microsoft .NET x.x.x - Windows Server Hosting".
If you do need to host ASP.NET Core, then you need to learn that there are three kinds of application pools you can configure now on IIS,
- ARM64 application pools. That requires the new application pool setting
enableEmulationOnWinArm64
to be set tofalse
(as its default value istrue
) andenable32BitAppOnWin64
tofalse
. - x64 application pools.
enableEmulationOnWinArm64
to be set totrue
andenable32BitAppOnWin64
tofalse
. - x86 application pools.
enableEmulationOnWinArm64
to be set totrue
andenable32BitAppOnWin64
totrue
.
So far, the latest hosting bundle (.NET 7/8) only installs ARM64 build of ASP.NET Core module to the same machine, without x64/x86 builds. Therefore, you can only run ARM64 build of your web app in ARM64 application pools.
If you want to at least make ASP.NET Core module compatible with all three kinds of application pools, you need to perform an extra step to patch your hosting bundle installation with the support files I prepared in this GitHub repo
If you install hosting bundles for older .NET Core releases (.NET 6 for example), it installs x64/x86 build of ASP.NET Core module. Then all your web apps must be run in x64 or x86 compatible application pools, but not ARM64.
Ideally in the future IIS should introduce new values in
preCondition
to configure all three builds (ARM64/x64/x86) separately inglobalModules
section. That will allow all builds of ASP.NET Core module to work together on the same machine. Things might change in the future.