1 つのオプションは、Debug.Assert の代わりに Trace.Assert を使用することです。
MSDN ページの備考セクションから:
リリース ビルドでアサーションを行う場合は、Trace.Assert メソッドを使用します。Debug.Assert メソッドは、デバッグ ビルドでのみ機能します。
編集:コメントへの応答:
が存在する理由は、本番ビルドTrace.Assert
と同じ機能を提供するためです。Debug.Assert
Debug.Assert でクラッシュ ダンプに使用するものと同じインフラストラクチャを使用できるはずですが、Debug ではなく Trace を参照する必要があります。MSDN の記事Assertions in Managed Codeから:
たとえば、TraceListener.Fail メソッドをオーバーライドして、[Assertion Failed] ダイアログ ボックスを表示する代わりに、イベント ログに書き込むことができます。
あなたの場合、おそらくあなたと同じTraceListener
ものを再利用することができます(おそらく-あなたがそう言わない限りわかりません)クラッシュダンプを生成するために今日使用しています。唯一の違いは、それをDebug.ListenersではなくTrace.Listenersに追加することです。