Visual studio 2010 是否可以在VS构建事件中使用条件编译符号?

Visual studio 2010 是否可以在VS构建事件中使用条件编译符号?,visual-studio-2010,conditional-compilation,build-events,Visual Studio 2010,Conditional Compilation,Build Events,比如说,我有一个VisualStudio项目,配置名为“MyConfig”,并且定义了编译符号MY\u CONFIG\u symbol 是否有宏或命令来查看编译前/编译后事件中是否定义了MY\u CONFIG\u SYMBOL?类似于#如果我的_CONFIG_SYMBOL,但对于生成事件?如果您指的是基于生成类型(调试或发布)的条件生成,则是。查看以下线程: 好吧,这不是一个解决方案,只是试图通过分享一些实验来提升状态。 (我还没有找到测试条件编译符号的方法。) 这是一种整合打开和关闭调试的方

比如说,我有一个VisualStudio项目,配置名为“MyConfig”,并且定义了编译符号
MY\u CONFIG\u symbol


是否有宏或命令来查看编译前/编译后事件中是否定义了
MY\u CONFIG\u SYMBOL
?类似于
#如果我的_CONFIG_SYMBOL
,但对于生成事件?

如果您指的是基于生成类型(调试或发布)的条件生成,则是。查看以下线程:


好吧,这不是一个解决方案,只是试图通过分享一些实验来提升状态。 (我还没有找到测试条件编译符号的方法。)

这是一种整合打开和关闭调试的方法:

<#@ include file="debug.incl" #>`

some text1
<# if ( xdebug ) { #>
    foo = bas;
<# } #>
more text

使用
分别获得条件输出与否。

我终于找到了答案。以下方法非常有效:

if "$(DefineConstants.Contains('DEBUG'))" == "True" <command>
如果“$(DefineConstants.Contains('DEBUG')”=“True”

这适用于构建中定义的任何常量,但请注意,该常量区分大小写(“DEBUG”!=“DEBUG”)。

No,我的意思是使用DEBUG或Release中定义的条件编译符号。对于调试配置,通常默认情况下定义的主条件编译符号是
Debug
。你可以在代码中使用它,但你能在构建前或构建后事件中使用它吗?找到答案了吗?@Thracx我终于找到了答案。见下文。
<#
#if DEBUG 
bool xdebug = true;
#else
bool xdebug = false;
#endif
#>

some text1
<# if ( xdebug ) { #>
    foo = bas;
<# } #>
more text
if "$(DefineConstants.Contains('DEBUG'))" == "True" <command>