扩展是否可以修改构建期间使用的预处理程序变量?

时间:2013-12-24 09:08:00

标签: c# visual-studio-2013 visual-studio-extensions preprocessor-directive

E.g。我希望扩展名相同于:

if (this_is_my_machine)
{
    #undef DEBUG
}

这将涉及在Visual Studio构建过程中修改用于所有或某些项目的CSC命令行的扩展。我想这就是我想知道它是否可以完成。

1 个答案:

答案 0 :(得分:0)

您可能不想通过扩展程序执行此操作。 (暂时忽略细节,你真的不能,或者至少不是对你有用的方式。)标准的思想实验问题是“如果在Visual Studio之外构建会发生什么?”想想连续集成机器,或者我只是懒惰并在命令行上键入msbuild。

在项目文件中,您始终可以添加以下内容:

<PropertyGroup Condition="'$(ComputerName)' == 'MY-COMPUTER-NAME'">
    <DefineConstants>SPECIAL_BUILD_MACHINE</DefineConstants>
</PropertyGroup>

将其放在其他属性组之后,因为文件是自上而下评估的。