核心2.0发布IIS HTTP错误500.19-内部服务器错误

Die*_*ego 1 iis publish kestrel asp.net-core visual-studio-2017

我已经阅读了很多帖子,但都遇到了同样的错误。我的问题是我可以在开发该解决方案的同一台计算机上运行它。

我有Windows 8.1和IIS 7.5。Express,我在IIS上运行了几种MVC Framework XXX解决方案,但我没有遇到任何问题。当我发布解决方案Core 2.0时出现问题。

我已经创建了基本的Web Core 2.0 MVC解决方案。与默认情况下创建的项目相同。(创建了Core 2.0 MVC并将其发布)。

我有Visual Studio 2017,所以我已经安装了SDK。

我已经在IIS(inetpub / wwwroot)中为其创建了一个站点,放入已发布的代码,然后将应用程序池配置为运行“无托管代码”。我将端口设置为5010。

当我从cmd运行项目时:dotnet core20.dll它说它正在侦听端口5000,而不是端口5010。

所以,我设置了端口5000,但是当我从cmd运行它时,它显示了一个错误。

Microsft.AspNetCore.Server.Kestrel[0] Unable to bind to localhost:5000 on the IPv4 loopback interface: Error 4092 EACCES permission denied. Unabled to start Kestrel.
Run Code Online (Sandbox Code Playgroud)

如果在端口5010上进行设置,为什么它在端口5000上运行?

当我从浏览器运行它时,我有此错误

在此处输入图片说明

我的web.Config是在发布后创建的基本web.config。

Microsft.AspNetCore.Server.Kestrel[0] Unable to bind to localhost:5000 on the IPv4 loopback interface: Error 4092 EACCES permission denied. Unabled to start Kestrel.
Run Code Online (Sandbox Code Playgroud)

On Windows Features turn on or off--> IIS Services--> Application Development Features,所有选项均被选中

我有错误

我的Core 2.0 Angular应用程序也有同样的问题...所以我想安装一些东西。

我还没有安装the .NET Core Windows Server Hosting bundle。我不知道这是必要的。

我不知道是否必须安装Kestrel或如何安装。

我假设在安装Visual Studio 2017时必须安装所有这些工具。

有什么想法我想念的吗?

谢谢

Chr*_*att 5

我尚未安装.NET Core Windows Server Hosting捆绑包。我不知道这是必要的。

有你的问题。安装主机捆绑包。没有它,IIS将不知道如何处理ASP.NET Core应用程序。特别是,您的错误是因为<aspNetCore>Web.config不存在该标记供使用,也没有该捆绑包。因此,虽然该错误有些晦涩,但从技术上讲,它是在告诉您问题所在。

此外,在安装捆绑软件之后,您必须重新启动服务器或完全停止并重新启动IIS服务(不是 iisreset):

> net stop was /y
> net start w3svc
Run Code Online (Sandbox Code Playgroud)

如果可以的话,最好是完全重新启动服务器,只是为了确保一切都新鲜,但是启动和停止Web服务应该足以在ASP.NET Core模块中加载。

所有这些都在文档中介绍