我创建了一个几乎空白的ASP.NET网站(1页)。我故意在Page_Load上编码除零错误。如果应用程序池设置为“ASP.NET 4.0管道:集成”,那么我没有看到页面加载错误,而是我得到:
运行时错误
描述:服务器上发生了应用程序错误。目前 此应用程序的自定义错误设置会阻止详细信息 查看应用程序错误。
文件夹 设置为IIS中的应用程序,并且存在显示错误的正确web.config条目,但由于某种原因,我无法让.NET向我显示正确的错误消息除非我将applciation池更改为ASP.NET Classic 。为什么需要“经典”模式?我正在拉我的头发,因为同一台机器上的所有其他网站都正常工作(IIS7),但我创建的任何新网站似乎都有同样的问题。
知道可能导致IIS无法识别此文件夹的原因是应用程序是否显示正确的错误消息?
编辑: Web.Config是:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
答案 0 :(得分:1)
好的,在填写了很长时间并将设置与工作机器进行比较后,我发现答案实际上取决于.NET 4应用程序池的设置。
一旦我在IIS的高级设置屏幕中检查了应用程序池中的“启用32位应用程序”(参见屏幕截图),一切都开始正常运行。我只能假设某些东西安装在需要此设置的地方,以便此应用程序池正常工作,这使我无法看到真正的错误消息。我仍然有兴趣知道是否有人发现为什么这可以解决问题,或者我如何显示“真实”错误消息,当尝试使用此应用程序池而不选中“启用32位应用程序”时,应显示该消息。