我有一个项目,其中定义了一个预处理器常量用于配置
<DefineConstants>TRACE;DEBUG;VAR1</DefineConstants>
我的代码可能是:
#if VAR1
Console.WriteLine("Var1");
#endif
#if VAR2
Console.WriteLine("Var2");
#endif
我希望执行MSBuild并定义常量VAR2,而不覆盖配置中定义的常量。
我尝试了以下方法:
MSBuild MyProject.csproj /p:DefineConstants=VAR2
但是在项目文件中定义的常量没有被设置:我的程序只显示
Var2
我已经尝试了一些方法,但都没有成功:
MSBuild MyProject.csproj /p:DefineConstants=$(DefineConstants);VAR2
或者
<DefineConstants>$(DefineConstants);TRACE;DEBUG;VAR1</DefineConstants>
是否有一种方法可以合并项目中定义的常量和命令行中定义的常量?