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

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

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

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

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

有什么问题吗?


当前回答

尝试安装本SO中提到的IIS的“应用程序开发”子组件

在搜索框中点击“开始按钮”,输入“打开窗口功能” 开或关” 在功能窗口中,单击:“Internet信息” 服务” 点击:“万维网服务” 点击:“应用程序 开发功能” 检查(启用)特性。我都查过了 CGI。

其他回答

在我的情况下,configSections必须在配置的顶部

<configuration>
<configSections>
...
</configSections>
<othersetting>
</othersetting>
.....

在服务器崩溃后,我们有一个网站开始给出“HTTP 500.19 0x80070005错误-无法读取配置文件web。配置”的错误。通常是权限或匿名用户配置,但这些都设置得很好,没有更改。怀疑IIS元数据库中的某些内容已损坏(或在%windir%\system32\inetsrv\config\applicationHost中)。我可以通过在IIS中删除站点并重新创建站点来让它恢复并运行。

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

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

您需要为本地机器上的IIS_IUSRS分配权限(但是您不必为IUSR分配权限,事实上即使显式地拒绝权限,它也会工作)。

要分配权限,只需右键单击文件夹和安全选项卡,确保授予正确的权限,如果用户没有列出,然后单击“ADD”,并输入IIS_IUSRS(并确保在“域”下选择了本地计算机,或在名称字段中输入YourLocalComputerName\IIS_IUSRS),然后就可以了。

如果你愿意,你可以不给IIS_IUSRS组分配权限,而是给应用程序池分配权限,通常应该是“IIS APPPOOL\应用程序池名称”。

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

删除web.config中的这一行:

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

不要删除这条线

<compilation debug="true"/>