我已经阅读了很多帖子,但我遇到了同样的错误。我遇到的问题是我在开发解决方案的同一台机器上运行它。
我有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)中为它创建了一个站点,放入已发布的代码,并将App Pool配置为运行“No Managed Code”。我将端口设置为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.
如果我设置端口5010,为什么它在端口5000上运行?
当我从浏览器运行它时出现此错误
我的web.Config是在发布时创建的基本web.config ..
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\core20.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
<!--ProjectGuid: 21dc60b6-a958-447d-8ed3-25a6195a06ea-->
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时必须安装所有这些。
我缺少什么想法?
感谢
答案 0 :(得分:5)
我还没有安装.NET Core Windows Server Hosting软件包。我不知道这是必要的。
有你的问题。安装托管包。没有它,IIS不知道如何处理ASP.NET Core应用程序。特别是,这里的错误是因为Web.config没有使用<aspNetCore>
标记,也没有该包。所以,虽然错误有点迟钝,但技术上却告诉你问题是什么。
此外,安装捆绑包后,您必须重新启动服务器或完全停止并重新启动IIS服务(不 iisreset
):
> net stop was /y
> net start w3svc
最好完全重启服务器,如果可以的话,只是为了确保一切都很新鲜,但启动和停止Web服务应该足以在ASP.NET Core模块中加载。
所有这些都包含在documentation。
中