[解決済み】#if RELEASEは、C#の#if DEBUGのように動作するのでしょうか?
2022-03-30 12:33:51
質問
私が見た#if コンパイラディレクティブの例では、すべて "DEBUG" を使っています。 同じように"RELEASE"を使って、デバッグモードでコンパイルしたときに実行させたくないコードを除外することはできますか?このブロックで囲みたいコードは、大量の電子メールを送信するので、テスト時に誤ってそれらを送信したくありません。
解決方法は?
いいえ、あなたが何らかの作業をしない限り、そうはなりません。
ここで重要なのは、DEBUGの正体で、コンパイラがチェックできる定数のようなものが定義されていることです。
プロジェクトのプロパティを確認すると、「ビルド」タブの下に、3つのものがあります。
- 条件付きコンパイルシンボル(Conditional Compilation Symbols)と書かれたテキストボックス。
- DEBUG定数を定義する」チェックボックス。
- TRACE定数を定義する".と書かれたチェックボックス。
このようなチェックボックスはありませんし、RELEASEという名前の定数/シンボルもあらかじめ定義されていません。
ただし、これらの設定は構成ごとに行われるため、その前にプロジェクトの構成をRelease-modeに設定してください。
つまり、基本的には、テキストボックスに追加しない限りは
#if RELEASE
は、どのような設定でもコードを生成しません。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Try-catchは私のコードをスピードアップさせるか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Wi-Fi経由でAndroidアプリケーションを実行/インストール/デバッグしますか?
-
[解決済み] C# "internal "アクセス修飾子でユニットテストを行う場合
-
[解決済み】DEBUG/RELEASEビルドでコードが実行されているかどうかを判断する方法は?
-
[解決済み] デバッグとリリースの性能比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み] 2つのリストを結合する
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】Nullableオブジェクトは値を持たなければならない?