在自定义构建事件VS2013中使用编译符号(?)

时间:2014-04-13 06:01:01

标签: c# visual-studio-2013

我正在尝试制作构建事件,并且我想知道是否可以使用您使用#define TEST定义的符号。

我猜它必须使用项目文件中定义的自定义宏来完成。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

无法直接从* .cs文件中导入#define TEST构造(好吧,这是可能的,但我认为这不值得)。

相反,您可以定义构建配置(或使用标准的Debug和Release),并将属性添加到* .csproj项目文件中,如下所示:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TestDefined>yes</TestDefined>
</PropertyGroup>

因此,您为Debug配置定义了一个常量。然后,您可以在构建事件条件(如

)中使用它
if ('$(TestDefined)' == 'yes') ...

或者,您可以使用可视化编辑器为VS.Net内部的项目属性定义常量,它们存储在&amp;由VS.Net以类似的方式初始化:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    ...
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    ...
</PropertyGroup>

它们需要更多的代码来解析,但是自己编辑常量会更容易。