2011-08-03 17 views
1

リリース構成を使用してプロジェクトをビルドしてデバッグ中に無効にするときに、コンパイルを有効にしたいコードがあります。何をする?リリースコンパイル時にコードを有効にする

+0

チェックアウトこの他のSOの質問:http://stackoverflow.com/questions/507704/will-if-release-work-like-if-debug-does-in-c – sestocker

+1

あなたは "デバッグ中"を意味しますか、 "デバッグビルドのために"を意味しますか?使用するビルド構成は、デバッガを使用しているかどうかにはまったく関係ありません。その違いを理解しておいてください。 – Justin

+0

はい、リリースビルドをデバッグできます。 – Polyfun

答えて

7

preprocessor directiveを使用してください。

#IF ! DEBUG 
//Your code here 
#ENDIF 

けれども、あなたのコードは、これらのいっぱいの場合、あなたがそのような

などの他のオプション、別の方法を検討する必要があり、特定の場合にのみ使用されるようにする方法についてConditionalAttributeを使用することですシンボルが定義されています

[Conditional("RELEASE")] 
public void MyReleaseMethod() 
{ 
} 
+3

Conditional( "RELEASE")を使用するには、プロジェクトプロパティの[ビルド]タブの条件付きコンパイルシンボルに "RELEASE"を追加する必要があります。 "DEBUG"はデフォルトではデバッグビルド用ですが、 "RELEASE"はありません。 – Tomislav3008

2

プリプロセッサディレクティブを使用してください。でコードを囲む:標準のデバッグでは

#if !DEBUG 

// Release-only code goes here... 

#endif 

およびVisual Studioで設定を解除、DEBUGシンボルは、デバッグではないのリリースでコンパイルする際に定義されているので、上記の2つのディレクティブの間のコードは唯一にコンパイルされますリリースモード。

あなたはリリースのデバッグおよび他の事で一つのことを行う必要がある場合は、あなたがこれを行うことができます:

#if DEBUG 

// Debug-only code goes here... 

#else 

// Release-only code goes here... 

#endif 

は詳細についてはC# preprocessor documentationを参照してください。

関連する問題