我想在IIS上用IIS管理器上传我自己的asp.net网站。但是当我这样做时,我得到以下错误

HTTP错误500.19 -内部服务器错误不能被请求的页面 访问,因为该页的相关配置数据为 无效的

模块IIS Web核心 通知未知 处理人尚未确定 错误码0x80070005 Config Error由于权限不足,无法读取配置文件 配置文件\\?\C:\用户\亚索\文档\Visual Studio 2008\网站\WebSite5\web.config

我搜索了很多次这个错误的解决方案,但没有一个解决方案解决了这个错误。

我的IUSR账户有问题。我在web.config的属性中的“组或用户名”中看不到这个帐户。

有什么问题吗?


当前回答

就我而言,问题在于我在吸毒

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile="C:\Data\logs\stdout">
      <environmentVariables>
        <environmentVariable name="VAL" value="SOME VALUE" />
      </environmentVariables>
    </aspNetCore>

但我使用的是。net 4.6.1,在这个版本中,aspnetcore部分似乎不存在于web.config中。把它去掉就解决了问题。

其他回答

有时这条消息可能是您的IIS环境中缺少的组件,例如某个特定的框架,或IIS特性(如动态压缩),而不是web.config的权限。

如果是这种情况,一种解决方案是安装和使用微软平台安装程序,并安装那些缺失的组件——您可能不得不尝试一下究竟缺失了什么,因为错误日志和消息没有告诉您。

我也遇到过同样的问题,这里有一个对我有效的解决方案。

IIS管理器 右击该网站 编辑权限 从安全选项卡添加用户'IIS_IUSRS' 给予用户'IIS_IUSRS'完全权限 将应用程序池的标识设置为“ApplicationPoolIdentity”

要解决这个问题,请确保安装了托管包。

https://dotnet.microsoft.com/download/dotnet-core/3.1

顺便说一句,我收到了同样的错误,我的问题很简单:我错过了。net核心托管包。一旦我安装了这个工具并重新启动了服务器,就没问题了。

你可以在这里找到在windows上托管asp.net core的手册:https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2

在我的情况下,它只是注释(或删除)anonymousAuthentication属性:

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>