我想在项目处于生产模式(发布模式)时显示一个自定义错误页面,并在(调试模式)下运行页面时显示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当然会继续作为发布版本,因为在发布时会应用它的转换。
希望它能有所帮助。