2012-08-27 103 views
3

我想在項目處於生產(發佈模式)時顯示自定義錯誤頁面,並在運行時顯示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> 

是否anyo我知道我該如何做到這一點?

感謝提前:)

編輯: 閱讀各地後,我在想,這是一個已知的錯誤,但我沒能找到一個bug修復此。如果有人對此有更多瞭解,請分享。謝謝

+1

如果您在vs2010上安裝免費slowcheeta擴展。它給每個轉換xml文件一個右鍵點擊 - >預覽功能,這是非常有用的調試這些。 – asawyer

回答

4

好的。所以我找出了什麼是錯的。

的Web.config

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

Web.Debug.config

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

Web.Release。配置

<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?

,或者你可以只使用「默認」的web.config作爲開發/調試版本,然後web.release.config當然將繼續釋放版本,因爲它的變換是在你發佈時應用的。

希望它會有所幫助。

+0

因此,只有在項目部署在服務器上時,纔會執行Web.Release.config中所做的任何更改? –

+0

@FarhanAhmad是的,這就是這個功能所做的。 – asawyer

+1

感謝您的幫助。我找出了什麼是錯的。看到我的答案。 –

相關問題