我在 VS 2010 C# 中创建了一个 Windows 应用程序。它是一个网络爬虫应用程序,使用 N 层应用程序结构(本项目中有一个 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文件夹中引用了类库。
我的类库和 win 表单应用程序位于相同的解决方案上。