“Release”模式下的自定义错误页面和“Debug”模式下的默认错误页面

时间:2012-08-27 13:04:19

标签: asp.net asp.net-mvc web-config

我想在项目生产(发布模式)时显示自定义错误页面,并在(调试模式)运行页面时显示asp.net的默认错误页面。

我的项目中有三个Web.config文件。

  • Web.config
  • Web.Debug.config
  • Web.Release.config

这是我尝试但没有运气。

的Web.config

<customErrors mode="On" defaultRedirect="~/Home/Error">
    <error statusCode="404" redirect="~/Home/Error" />
</customErrors>

Web.Debug.config

<customErrors mode="Off" xdt:Transform="Replace"></customErrors>

Web.Release.config

<customErrors mode="On" defaultRedirect="~/Home/Error">
    <error statusCode="404" redirect="~/Home/Error" />
</customErrors>

有谁知道我该怎么做?

提前致谢:)

修改 阅读后,我认为这是一个已知的错误,但我无法找到错误修复。如果有人对此有更多了解,请分享。感谢

2 个答案:

答案 0 :(得分:6)

好。所以我弄清楚出了什么问题。

<强>的Web.config

<customErrors mode="Off" defaultRedirect="~/Error.htm"></customErrors>

<强> Web.Debug.config

<compile debug="true" />
<customErrors mode="Off" xdt:Transform="Replace"></customErrors>

<强> Web.Release.config

<customErrors mode="On" defaultRedirect="~/Error.htm" xdt:Transform="Replace">
     <error statusCode="404" redirect="~/Error.htm" />
</customErrors>

上述更改将默认禁用错误消息,每当项目部署在生产服务器上时,Web.Release.config中的设置都将覆盖默认Web.config

以下是我发现有用的资源/链接列表:

我希望这有助于其他任何试图完成同样事情的人。

答案 1 :(得分:1)

这是一个知道错误。该功能现在只能作为部署过程的一部分使用。 请在下面的帖子中查看

How can I use Web.debug.config in the built-in visual studio debugger server?

或者您可以使用'default'web.config作为开发/调试版本,然后web.release.config当然会继续作为发布版本,因为它的发布时会应用它的转换。 / p>

希望它会有所帮助。