在 Window 10 Pro IIS 上托管 .NET 5 ASP.NET 应用程序

时间:2021-04-26 20:27:32

标签: iis .net-core

我有一个简单、实用的 .NET 5.0 控制台应用程序,我正尝试在本地 Windows 10 Pro 开发机器上托管(用于测试)。

我将应用程序池设置为“无托管代码”和“集成”。 我创建了一个网站,指向我将应用发布到的文件夹。

我的应用程序使用 NLog,当我点击应用程序的 URL 时,我确实看到 NLog 正在正确记录内容。

但我的应用程序无法运行,当我检查 Windows 应用程序事件日志时,我看到:

Source: IIS AspNetCore Module V2
Event ID: 1007
Message: Application '/LM/W3SVC/5/ROOT' with physical root 'C:\Cabinet\Learning\EssApiGateway\Mobile.ApiGatewayPublished\' failed to load coreclr. Exception message:
Managed server didn't initialize after 120000 ms.
File Version: 15.0.21076.5. Description: IIS ASP.NET Core Module V2 Request Handler. 

我已经从这里安装了 .NET Core Hosting Bundle 并重新启动了 IIS: https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-5.0.5-windows-hosting-bundle-installer

我不能在 Windows 10 Pro IIS 上托管 .NET 5 ASP.NET 控制台应用程序吗?

谢谢,布伦特

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

在 Program.cs 中,我正在创建一个新的 WebHostBuilder() 并且我正在调用 .UseKestrel()。 当我将其更改为 UseIIS() 时,我的网关项目在由 IIS 托管时运行并正常运行。

但是当我使用项目的启动配置文件(我通常如何运行这些类型的项目)在 VS.NET 中运行我的项目时,它失败并出现以下错误:

'没有注册'Microsoft.AspNetCore.Hosting.Server.IServer'类型的服务。'

但是如果我使用 IIS Express 启动配置文件在 VS.NET 中运行我的项目,它会再次运行 并且功能正常。

所以我需要对所涉及的组件进行自我教育,以便更好地理解...