VS 2010 C# で Windows アプリケーションを作成します。これは Web クローラー アプリケーションであり、N 層アプリケーション構造 (このプロジェクトでは 1 つの Windows アプリケーションと多くのクラス ライブラリ) を使用します。先週、パフォーマンスの問題を解決するためのログ テキストを作成するために、すべてのプロジェクトにログ システムを実装しました。しかし、リリースモードでこのログ機能を無効にしたいと思います。
私はググって CodeProjectから例を取得しました。以下の私のコードを見てください。
public class ModeDetector
{
public virtual bool IsDebug
{
get
{
bool isDebug = false;
#if (DEBUG)
isDebug = true;
#else
isDebug = false;
#endif
return isDebug;
}
}
public bool IsRelease
{
get { return !IsDebug; }
}
}
このクラスは、基本クラス ライブラリに作成します。すべての参照プロジェクトに対してこのクラスを取得します。Windows アプリケーションでこのメソッドを呼び出します。お気に入り
if (new Sun.lib.ModeDetector().IsDebug)
MessageBox.Show("Debug Mode");
else
MessageBox.Show("Release Mode");
プロジェクトのビルド構成を「リリース」に変更します。ただし、このコードは常に「デバッグ モード」メッセージを表示します。しかし、Windows アプリケーションでこのクラスを作成すると、正常に動作します。しかし、すべてのプロジェクトでこのクラスを作成するのは心配です。
プロジェクトが作業デバッグまたはリリース モードであるかどうかを判断するためのベスト プラクティスを教えてください。プロジェクト全体でこのクラスを使用するにはどうすればよいですか。
編集:
クラス ライブラリ プロジェクトの Debug bug フォルダにあるクラス ライブラリを参照します。
私のクラス ライブラリと勝利フォーム アプリケーションは、同じソリューション上にあります。