2012-07-31 39 views
3

我是C#和Visual Studio的新手,这可能是一个愚蠢的问题,但我必须找到答案。我的问题是,如果我在Debug模式下构建,编译某些代码行(在我的情况下为MessageBox.Show(...)),可以区分调试和发布构建,但如果构建在释放模式下?如何使用visual studio留出特定的构建线?

回答

4

裹的代码行中#if DEBUG声明:

#if DEBUG 
    MessageBox.Show("Message"); 
#endif 

如果你想要做的版本不同的事情,那么你可以有:

#if DEBUG 
    MessageBox.Show("Message"); 
#else 
    // Write to log file 
#endif 

Source

0

是的,你可以使用

#if DEBUG 
    MessageBox.Show.... 
#endif 

如果选中打造的版本,你会发现你在项目中定义的变量:DEBUG仅在调试版本中定义。 如果你愿意,你也可以切换使用

#if DEBUG 
    MessageBox.Show.... 
#else 
    // do something else here in release mode 
#endif 
+0

为什么downvote?请解释我的答案有什么问题... – Marco 2012-07-31 15:13:33

1

您可以在项目的属性中指定不同的条件编译符号(文章here;用于Visual Studio的MSDN documentation)。然后,使用条件编译很容易包含/排除某些行。就像这样:

#if DEBUG 
    MessageBox.Show(...); 
#end 
1

除了#if DEBUG,您还可以使用Assert静态方法对DebugSystem.Diagnostics检查的东西,并显示一个消息框,如果值是错误的。例如:

Debug.Assert(IsValid); 

如果IsValid为false,将在调试版本中显示消息。

相关问题