您的Web应用程序在IIS中运行时所使用的标识没有完全访问在其中找到web.config
文件的文件夹的权限。您正在使用哪个版本的IIS?假设7,您可以通过托管应用程序的应用程序池的“高级设置”查看/更改身份。可以通过Windows资源管理器以通常的方式授予文件夹权限。
我从IIS-> Modules中缺少AspNetCoreModule。安装后,我不再遇到500.19错误。
要了解更多,这个博客很棒:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS
这是Microsoft可以找到下载页面的页面:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x
您必须安装“主机捆绑安装程序”。没有这个,IIS将无法理解路由,也无法托管您的应用程序。
转到Microsoft网站“ https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1”并安装“主机捆绑安装程序”:
在安装此程序之前,您必须安装正确版本的运行时:https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1比安装正确版本的“ Hosting Bundle安装程序”。
“主机捆绑安装程序”是:.NET Core Windows Server Hosting捆绑包将安装.NET Core Runtime,.NET Core库,和ASP.NET核心模块。该模块在IIS和Windows平台上的Kestrel服务器之间创建反向代理。
当然,您必须遵循本教程才能部署到IIS:
https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
我建议您这样做:
将您的Web应用程序发布到桌面。
将文件夹复制到服务器。
打开cmd并运行cd
在cmd中运行dotnet webapplication.dll
您应该看到该应用程序正在运行,并且正在localhost:port上等待响应。
打开浏览器并导航到那里。应该可以。
否则,您将可以在cmd窗口中看到所有错误。
就我而言,我遇到了同样的错误。
与权限无关。
我必须安装以下内容1- Microsoft .NET Core运行时2- Microsoft ASP.NET Core运行时3- Microsoft ASP.NET Core托管捆绑包
从下面的位置。 (请选择相关版本)https://dotnet.microsoft.com/download/archives
然后,我还必须执行以下命令。净止损为/ y净启动w3svc
您可以重新启动机器。
为我固定。
尝试编辑/打开该站点的任何配置。
如果无法在IIS管理器下访问该站点的配置选项,请检查标记
ASP.NET Core托管包。
ASP.NET Core 3.1运行时(v3.1.3)-Windows主机捆绑安装程序。