"Release"模式下的自定义错误页和"Debug"模式下的默认错误页



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

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

  • Web.config
  • Web调试配置
  • 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>

有人知道我该怎么做吗?

提前感谢:)

编辑:经过阅读,我认为这是一个已知的错误,但我没能找到修复这个错误的方法。如果有人对此了解更多,请分享。感谢

好的。所以我发现了问题所在。

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

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

  • 使用Visual Studio web.config转换进行调试
  • http://sedodream.com/2010/10/21/ASPNETWebProjectsWebdebugconfigWebreleaseconfig.aspx

我希望这能帮助到其他试图完成同样事情的人。

这是一个已知的错误。该功能现在只能作为部署过程的一部分使用。请在后查看以下内容

如何在内置的visual studio调试器服务器中使用Web.debug.config?

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

希望它能有所帮助。

最新更新