0

app.cs がアプリのデバッグまたは展開の現在の状態であることを確認する方法はありますか?

または問題は、アプリケーションのデバッグ時にのみコードを実行したいということです。

4

3 に答える 3

5

#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 属性を使用することもできます。

于 2012-10-02T15:51:46.977 に答える
3

そのために [ConditionalAttribute("DEBUG")] を使用できます。

メソッドをデバッグ モードでのみ実行する場合は、次のようにします。

[ConditionalAttribute("DEBUG")]
public void WriteOnlyInDebug(string message)
{
    Console.WriteLine(message);
}

このメソッドは、デバッグ モードでのみ呼び出されます。アプリをリリース モードでビルドすると、メソッドとそのすべての呼び出しがバイナリから削除されます。

于 2012-10-02T15:49:35.597 に答える
1

他の回答は、アプリがデバッグ ビルドとしてコンパイルされているかどうかを実行時に確認する方法を示しています。Visual Studio (またはその他のデバッガー) がアタッチされているかどうかを確認し、アプリをデバッグする場合は、System.Diagnostics.Debugger.IsAttachedを使用できます。

于 2012-10-02T20:25:52.917 に答える