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

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

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

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

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

有什么问题吗?


当前回答

确保在启用IIS后安装了适当的托管包

如果在启用IIS之前已经安装了托管包,重新安装托管包将解决问题

在我的例子中:

已安装的主机包 启用IIS

然后收到了这个不愉快的消息:

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

重新安装托管包解决了这个问题

其他回答

在我的情况下,这是由应用程序物理路径指向IIS中不存在的文件夹引起的。

另一个解决这个问题的方法是:

给“用户”适当的权限(或IIS_IUSRS,取决于你的设置)

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

<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中。把它去掉就解决了问题。

这些方法对我都没用,但我终于找到了一个对我有用的方法:

删除web.config中的这一行:

<compilation debug="true" targetFramework="4.5"/>

不要删除这条线

<compilation debug="true"/>

对于Visual Studio (VS)开发人员: 正如Harvey Darvey, Savage和Snives所暗示的,您的应用程序主机配置可能指向错误的应用程序物理路径。在/.vs/config/applicationhost目录下搜索virtualDirectory。如果不正确,请使用config命令修改物理路径。

确保physicalPath正确: