我得到一个错误,每次我上传我的webapp到提供商。由于使用了customErrors模式,我所看到的是默认的“运行时错误”消息,指示我关闭customErrors以查看有关错误的更多信息。

我恼怒地织好了网。配置如下所示:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

然而,我所得到的只是一个愚蠢的远程错误页面,上面没有任何有用的信息。 我还能做什么来关闭customErrors ?!


当前回答

我也遇到过同样的问题,原因是IIS运行的是ASP。NET 1.1,站点需要。NET 2.0。

这个错误消息没有起到任何作用,只是让我偏离了轨道好几个小时。

其他回答

在过去的几天里,这已经把我逼疯了,无法回避,但最终还是弄明白了:

在我的机器里。我在<system.web>下有一个条目:

<deployment retail="true" />

这似乎覆盖了你在web中指定的任何其他customError设置。配置文件,因此将上述条目设置为:

<deployment retail="false" />

现在意味着我可以再次看到我需要的详细错误消息。

这台机器。配置位于

32位

%windir%\Microsoft.NET\Framework\[version]\config\machine.config

64位

%windir%\Microsoft.NET\Framework64\[version]\config\machine.config

我们还遇到了这个错误,在我们的例子中,这是因为应用程序池用户没有访问web的权限。配置文件。它失去权限的原因(之前一切正常)是因为我们在rar文件中有一个站点的备份,我拖了一个备份版本的web。配置从rar进入网站。这似乎已经删除了对网络的所有权限。配置文件除了我,登录用户。

我们花了一段时间才弄清楚这一点,因为我反复检查文件夹级别的权限,但从未在文件级别检查过。

我在这里找到了一个解决这个问题的答案:https://stackoverflow.com/a/18938991/550975

只要把这个添加到你的web.config:

<configuration>  
  <system.webServer>  
    <httpErrors existingResponse="PassThrough"/>  
  </system.webServer>  
<configuration>

如果您仍然在获取该页面,则很可能在通过Web之前它就已经爆炸了。配置

确保ASP。Net拥有。Net框架文件夹、IIS元数据库等所需的权限。你有办法检查那个ASP。Net是否正确安装并在IIS中正确关联?

编辑:在格雷格的评论之后,我突然想到,我以为你发布的是你整个非常小的网络。Config,还有别的吗?如果是这样,你能张贴整个web.config吗?

在一个网站的目录树中,这个web应用程序设置在任何其他应用程序下面吗?检查所有的父网站。配置文件用于其他设置(如果有的话)。同时,将您的目录设置为IIS中的应用程序目录。