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

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

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

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

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

有什么问题吗?


当前回答

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

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

其他回答

。记得不能用我已经把我的网站/文件移动到一个不同的文件夹。无需更改IIS网站中的路径。

你们现在都可以笑了。

这里没有为我工作,我发现这个命令在另一个SO答案虽然,它解决了我的问题。以管理员身份启动命令提示符并运行以下命令:

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"

资料来源:用户Vicxx

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

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

检查错误/HResult代码,并遵循以下指南:

“HTTP错误500.19”错误时,您打开IIS 7.0网页

0 x80070005

出现此问题的原因如下: 您正在运行Windows Vista的计算机上使用IIS 7.0。此外,您可以将Web站点配置为使用UNC直通身份验证来访问远程通用命名约定(UNC)共享。 IIS_IUSRS组没有ApplicationHost对应的权限。配置文件,用于Web。配置文件,或IIS的虚拟/应用程序目录。

解决方案

方法1

请勿将Web站点配置为使用UNC Passthrough认证方式访问远端UNC共享。请指定具有适当权限的用户帐户来访问远程UNC共享。

方法二(最有可能)

为ApplicationHost的IIS_IUSRS组赋予“读”权限。配置文件或Web。配置文件。

简单来说,你需要:

打开包含您报告的配置文件(如Web.config)的文件夹的属性。 在安全选项卡中,编辑…并添加…: IIS_IUSRS组,确认。

在我的例子中,我所做的只是在管理员模式下运行visual studio。