5

プロジェクトが本番環境(リリースモード)のときにカスタムエラーページを表示し、ページを(デバッグモード)で実行しているときにasp.netのデフォルトのエラーページを表示したいと思います。

プロジェクトに3つの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>

誰かが私がこれを行う方法を知っていますか?

前もって感謝します :)

編集: 読んだ後、これは既知のバグだと思いますが、これに対するバグ修正を見つけることができませんでした。誰かがこれについてもっと知っているなら、共有してください。ありがとう

4

2 に答える 2

6

わかった。だから私は何が間違っているかを理解しました。

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

私が参考になったリソース/リンクのリストは次のとおりです。

これが同じことを達成しようとしている他の誰かに役立つことを願っています。

于 2012-08-27T16:05:52.747 に答える
1

これは既知のバグです。この機能は、現在、デプロイ プロセスの一部としてのみ使用できます。この下の投稿を確認してください

組み込みの Visual Studio デバッガー サーバーで Web.debug.config を使用するにはどうすればよいですか?

または、「デフォルト」の web.config を開発/デバッグ バージョンとして使用することもできます。その場合、公開時にその変換が適用されるため、もちろん web.release.config は引き続きリリース バージョンになります。

それが役立つことを願っています。

于 2012-08-27T13:42:41.470 に答える