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

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

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

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


当前回答

您还可以尝试在服务器机器上的浏览器中打开该网站。我不怎么使用ASP。但我记得自定义错误的东西有一个设置,只显示完整的错误文本在服务器上,作为一种安全措施。

其他回答

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

在我的机器里。我在<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

我刚刚处理过类似的问题。在我的情况下,默认的网站asp.net版本是1.1,而我试图启动一个2.0的web应用程序。错误是非常微不足道的,但它不是立即清楚为什么自定义错误不会消失,运行时从来没有写到事件日志。显而易见的修正是匹配Asp中的版本。IIS的Net选项卡。

如果您正在进行配置转换,您可能还需要从相关web中删除以下行。配置文件。

<compilation xdt:Transform="RemoveAttributes(debug)" />

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

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

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

对于Sharepoint 2010应用程序,您还应该编辑C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ Web。配置和定义<customErrors mode="Off" />