#if debug-> #if myOwnConfig吗?


74

在Visual Studio中有没有一种方法可以使用自定义配置,例如“ #if DEBUG”

我需要一个“ #if OFFLINE”,因为我的Build-Config名称是“ Offline”(也仅用于进一步的调试目的)...

谢谢!

Answers:


110
  1. 构建->配置管理器->活动解决方案配置->新建...
  2. 创建一个新的配置“离线”。
  3. 项目->属性->构建->配置->脱机
  4. 条件编译符号:键入OFFLINE
  5. 保存项目。

3
我需要重新启动Visual Studio才能使我的配置符号正常工作
Jerome2606'9

“活动解决方案配置”设置会更改哪个文件?我想在git的承诺这一点,但它没有看到变化
悟空

@悟空:VS将活动配置存储在本地解决方案设置中。它不会在项目或解决方案文件中进行任何更改,因此无法将其存储在源代码管理中。此设置是VS默认创建哪个配置的方向(例如,按F6时)。它的行为类似于MSBuild的“ / p:Configuration”参数,说“请使用%ConfigName%配置来构建我的源代码”。
丹尼斯,

35

是的你可以。但是在您可以之前,请按照下列步骤操作:

  1. 在Visual Studio中,转到“属性”->“生成”。
  2. 在配置下拉菜单中,选择“离线”
  3. 将“脱机”添加到“条件编译符号”文本框中

如果您跳过这些步骤,则您#if OFFLINE将无法使用,因为在这种情况下,OFFLINE尚未定义。


对,很高兴找到两个答案。这使我的生活更加轻松。谢谢 !
user1841243 2015年

2
除了取消选中之外,Define DEBUG constant我还必须OFFLINEConditional complication symbols文本框中添加分号
gblock19'1

8

我遵循与上述完全相同的步骤。但是他们没有工作。他们缺少一个步骤,或者他们没有清楚地解释这一点。

当您执行步骤4时。条件编译符号:键入OFFLINE。您还需要取消选中“定义DEBUG常量”。否则,新符号OFFLINE将不起作用。

我将其张贴在这里,以防有人在尝试做同一件事时浪费我很多时间。


看来这取决于VS版本项目系统版本。至少,在使用VS2019 / 17和netcore / netstandard项目时,无需重新启动VS和/或取消选中DEBUG / TRACE符号。老实说,我不记得这在早期版本中的表现。
丹尼斯,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.