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

Far*_*mad 4 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>
Run Code Online (Sandbox Code Playgroud)

Web.Debug.config

<customErrors mode="Off" xdt:Transform="Replace"></customErrors>
Run Code Online (Sandbox Code Playgroud)

Web.Release.config

<customErrors mode="On" defaultRedirect="~/Home/Error">
    <error statusCode="404" redirect="~/Home/Error" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么做到这一点?

提前致谢 :)

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

Far*_*mad 6

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

Web.config文件

<customErrors mode="Off" defaultRedirect="~/Error.htm"></customErrors>
Run Code Online (Sandbox Code Playgroud)

Web.Debug.config

<compile debug="true" />
<customErrors mode="Off" xdt:Transform="Replace"></customErrors>
Run Code Online (Sandbox Code Playgroud)

Web.Release.config

<customErrors mode="On" defaultRedirect="~/Error.htm" xdt:Transform="Replace">
     <error statusCode="404" redirect="~/Error.htm" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

上述更改将保留默认情况下禁用的错误消息,并且每当项目部署在生产服务器上时,设置Web.Release.config将覆盖默认值Web.config

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

我希望这可以帮助那些试图完成同样事情的人.