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

在Windows 10 Pro IIS上托管.NET 5 ASP.NET应用程序,iis,.net-core,Iis,.net Core,我有一个简单、功能强大的.NET 5.0控制台应用程序,我正试图在本地Windows 10 Pro开发机器上托管(用于测试) 我将应用程序池设置为“无托管代码”和“集成”。 我创建了一个网站,指向我发布应用程序的文件夹 我的应用程序使用NLog,当我点击应用程序的URL时,我确实看到NLog正确地记录了事情 但我的应用程序无法运行,当我查看Windows应用程序事件日志时,我看到: Source: IIS AspNetCore Module V2 Event ID: 1007 Message:

我有一个简单、功能强大的.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托管捆绑包,并重新启动了IIS:

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


谢谢,布伦特,我已经解决了这个问题

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

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

“尚未注册类型为“Microsoft.AspNetCore.Hosting.Server.IServer”的服务。”

但是,如果我使用IIS Express启动配置文件在VS.NET中运行我的项目,它将再次运行 功能良好


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

这是否可能是您的项目的问题。我建议您首先部署一个核心模板项目。我的项目是从一个模板创建的,它是一个非常基本的项目。它是一个API网关。我所做的就是安装Ocelot 17.0软件包并对其进行配置。当我在VS.NET中运行我的项目时,它会正常运行和工作——它将传入的请求传递到我在ocelot配置文件中设置的路由,再传递到另一个包含实际api的项目。这似乎是IIS AspNetCoreModule和Windows 10 IIS的一个问题,因为这是在尝试加载coreclr时引发错误的原因。