app.cs がアプリのデバッグまたは展開の現在の状態であることを確認する方法はありますか?
または問題は、アプリケーションのデバッグ時にのみコードを実行したいということです。
#if DEBUG
次のようにディレクティブを使用するだけです
#if DEBUG
//code here only executes in debug
#endif
したがって、DEBUG で実行されるコードと RELEASE で実行されるコードが必要な場合は、次のようにします。
#if DEBUG
//code here only executes in debug
#else
//code here only executes in release
#endif
また、DAKLが説明したように、Conditional 属性を使用することもできます。
そのために [ConditionalAttribute("DEBUG")] を使用できます。
メソッドをデバッグ モードでのみ実行する場合は、次のようにします。
[ConditionalAttribute("DEBUG")]
public void WriteOnlyInDebug(string message)
{
Console.WriteLine(message);
}
このメソッドは、デバッグ モードでのみ呼び出されます。アプリをリリース モードでビルドすると、メソッドとそのすべての呼び出しがバイナリから削除されます。
他の回答は、アプリがデバッグ ビルドとしてコンパイルされているかどうかを実行時に確認する方法を示しています。Visual Studio (またはその他のデバッガー) がアタッチされているかどうかを確認し、アプリをデバッグする場合は、System.Diagnostics.Debugger.IsAttachedを使用できます。