5

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

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

  • 网页配置
  • Web.Debug.config
  • Web.Release.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>

有谁知道我该怎么做?

提前致谢 :)

编辑: 阅读后,我认为这是一个已知的错误,但我无法找到解决此问题的错误。如果有人对此有更多了解,请分享。谢谢

4

2 回答 2

6

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

网页配置

<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

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

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

于 2012-08-27T16:05:52.747 回答
1

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

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

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

希望它会有所帮助。

于 2012-08-27T13:42:41.470 回答