预处理器命令,elif debuglive未被命中

时间:2011-03-09 01:33:09

标签: c# visual-studio-2008

我在项目中使用了一些预处理器命令,以便我可以指定连接字符串。基本上是:

#if DEBUG
    return @"Network connection 1"
#elif DEBUGLIVE
    return @"Network connection 2"
#else
   return @"Default connection"
#endif

但是,虽然我在VS 2008中将解决方案设置为Debuglive,但实际上是传回dubug连接字符串,为什么会这样?

编辑:

好的,所以我之前没有使用过预处理器命令,我不确定它们是如何工作的。我也在研究其他人写的项目,所以我不知道'DEBUGLIVE'是你必须创造的东西。所以,我现在的问题是,因为我无法从其他项目中解决这个问题,你如何在项目设置中设置'DEBUGLIVE'?

4 个答案:

答案 0 :(得分:2)

右键单击该项目,然后从Build转到Properties。应该有一个名为“条件编译符号”的构建。

您可以将DEBUGLIVE添加到该列表中。您为不同的配置设置了不同的符号,它们不需要与配置名称相同(尽管它确实使记忆更容易)

你会注意到“条件编译符号”下面有一个Define DEBUG常量的复选框。这就是为什么DEBUG被命中,因为在Debug配置中检查了默认值。据我所知,它只是在上面的框中键入DEBUG的快捷方式,如果您取消选中该框并在符号列表中键入DEBUG,它将在功能上等效。

答案 1 :(得分:0)

确保您的解决方案配置也适当地设置项目配置。

答案 2 :(得分:0)

  

所以,我现在的问题是,我不能   从其他项目中解决,   你如何在你的项目中设置   设置'DEBUGLIVE'?

#define DEBUGLIVE

答案 3 :(得分:0)

我正在经历同样的事情。最简单的方法是做Davy8。此外,您还必须在配置管理器中添加新构建。只需单击VS 2017中“调试”选项卡下的下拉列表,然后选择配置管理器,然后选择“添加”。然后你可以命名你的DEBUGLVE并保存。您还必须在web.config中指定