如果 ASP.NET Core 6 网站在使用 Kestrel 运行时能够正常工作,但无法通过 IIS 或 IIS Express 运行,那么最有可能的原因是应用程序池配置不正确。下面是可能的解决方案:
检查应用程序池的配置:确保在 IIS 或 IIS Express 中使用的应用程序池与 Kestrel 使用的应用程序池相同,并且具有足够的权限。在 IIS 管理器中,可以通过查看“应用程序池”中的属性来检查和更改此配置。
检查端口设置:如果 Kestrel 在使用时将端口设置为某个特定的端口号,可以尝试在 IIS 或 IIS Express 中将端口设置为相同的值。可以通过修改网站的“高级设置”中的端口号来完成此操作。
确保 IIS 或 IIS Express 中已安装 ASP.NET Core 6 运行时。如果没有安装,请通过 Microsoft 官方网站下载和安装 .NET Core 运行时。
下面是一个配置应用程序池的示例,以确保它使用的是较新的.NET运行时版本:
dotnet
./MyApp.dll