每次我将webapp上传到提供商时都会出错.由于customErrors模式,我看到的只是默认的"运行时错误"消息,指示我关闭customErrors以查看有关错误的更多信息.
恼怒,我已将我的web.config设置为如下所示:
而且,我得到的只是愚蠢的远程错误页面,没有任何有用的信息.我还能做些什么来关闭自定义错误!
这让我在过去几天一直疯狂,无法解决这个问题,但终于弄清楚了:
在我的machine.config文件中,我有一个条目
:
这似乎覆盖了您在web.config文件中指定的任何其他customError设置,因此将上面的条目设置为:
现在意味着我可以再次看到我需要的详细错误消息.
在machine.config
位于
32位
%windir%\Microsoft.NET\Framework\[version]\config\machine.config
64位
%windir%\Microsoft.NET\Framework64\[version]\config\machine.config
希望能帮助那里的人,并节省几个小时的拉毛.
"关闭"区分大小写.
检查web.config文件中的"O"是否为大写,我遭受了几次(听起来很简单)
为了给这个问题添加更多的情况(因为这是我看到的地方,因为我遇到了完全相同的问题),这是我的答案:
在我的情况下,我剪切/粘贴了一般错误中的文本,如果你想看看有什么不对,那就说了
所以这应该已经解决了,但当然不是!我的问题是上面有几行
这是我在"复制并粘贴你的毁灭之路"一章中的"我一直在做的蠢事"的历史.
对于Sharepoint 2010应用程序,您还应编辑C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config
和定义
实际上解决这个问题的一个答案我在这里找到:https://stackoverflow.com/a/18938991/550975
只需将此添加到您的web.config
:
如果您有权访问它,通常可以在事件查看器中找到有关错误的更多信息.您的提供商也可能已经阻止显示自定义错误,可以通过覆盖machine.config或将零售属性设置为true来实现(http://msdn.microsoft.com/en-us/library/ms228298( VS.80).aspx).
我尝试了这里描述的大部分内容.我使用的是VWD,默认的web.config文件包含:
我将mode ="RemoteOnly"更改为mode ="Off".仍然没有快乐.然后我使用IIS管理器,属性,ASP.Net选项卡,编辑配置,然后选择CustomeErrors选项卡.这仍然显示RemoteOnly.我将其更改为关闭,最后我可以看到详细的错误消息.
当我检查web.config时,我看到system.web中有两个CustomErrors节点; 我刚刚注意到第二个条目(我正在更改的条目是在评论中).因此,尽量不要使用记事本来检查远程服务器上的web.config.
但是,如果您使用IIS编辑配置,它将在web.config中抱怨错误.然后,您可以排除所有答案,说"您的web.config中是否存在XML语法错误"
如果你还在那个页面上,它可能会在通过Web.Config之前爆炸
确保ASP.Net具有.Net Framework文件夹,IIS元数据库等所需的权限.您是否有任何方法可以检查ASP.Net是否已正确安装并在IIS中正确关联?
编辑:在Greg发表评论之后,我发现我发布的是你发布的整个非常小的web.config,还有更多内容吗?如果是这样,你可以发布整个web.config?
我也有这个问题,但在使用Apache和mod_mono时.对于那种情况下的其他任何人,您需要在更改web.config后重新启动Apache以强制读取新版本.
我的问题是我在web.config中定义了这个