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

本文关键字:编译 符号 自定义 事件 VS2013 | 更新日期: 2023-09-27 17:58:09

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

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

感谢您的帮助

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

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

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

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

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

if ('$(TestDefined)' == 'yes') ...

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

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

它们需要更多的编码来解析,但编辑常量本身更容易。