如何合并命令行常量和配置常量

2023-12-03

我有一个项目,其中为配置定义了预处理器常量

<DefineConstants>TRACE;DEBUG;VAR1</DefineConstants>

我的代码可能是:

#if VAR1
        Console.WriteLine("Var1");
#endif
#if VAR2
        Console.WriteLine("Var2");
#endif

我想执行 MSBuild 并定义常量 VAR2,而不覆盖配置中定义的常量

I try :

MSBuild MyProject.csproj /p:DefineConstants=VAR2

但未设置项目文件中定义的常量:我的程序仅显示

Var2

我尝试过类似的事情但没有成功:

MSBuild MyProject.csproj /p:DefineConstants=$(DefineConstants);VAR2

or

<DefineConstants>$(DefineConstants);TRACE;DEBUG;VAR1</DefineConstants>

这是一种合并项目中定义的常量和命令行上定义的常量的方法吗?


据我所知,通过命令行定义的属性将始终覆盖具有相同名称的静态定义的属性。作为解决方法,您可以将附加属性加入队列<DefineConstants />您的项目文件中未定义:

<DefineConstants>TRACE;DEBUG;VAR1;$(MyCommandLineConstants)</DefineConstants>

并以这种方式调用 MSBuild:

MSBuild MyProject.csproj /p:MyCommandLineConstants=VAR2;VAR3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何合并命令行常量和配置常量 的相关文章

随机推荐

  • SMSC 与客户端有多个连接 但是,客户端与 SMSC 有一个连接

    我有一个奇怪的问题 我正在为其中一位客户开发短信模块 因此 我使用 Kannel 连接到 SMSC 服务器 第一次尝试意味着重新启动客户端和服务器应用程序之后 我能够通过一个活动连接连接到 SMSC 但在一段时间后 服务器对我的 IP 具有
  • 在列表理解中使用 or

    我试图取出 1 到 10 之间所有能被 5 或 3 整除的数字到目前为止 这是我的代码 giveList x x lt 1 10 x mod 5 0 or x mod 3 0 然后我在 ghci 中加载该函数 但这给了我一个错误 gt 1
  • 当我在类中声明固定长度向量时,我可以避免歧义吗?

    我想将一个包含 2 个元素的向量声明为类成员 但接下来的代码会产生错误 class A private std vector
  • 原生 JavaScript 中的动画

    如何在不使用 jQuery 库的 animate 方法的情况下在本机 javascript 中运行动画 例如更改 CSS 属性 我尝试过 jQuery 库 animate 和帧速率间隔更改以使我的动画流畅 提前致谢 这是一个例子 http
  • boost::shared_ptr 问题。为什么这有效?

    在试验中这个问题我创建了一个我完全不理解的例子 特别是 它突出了我对指针 引用和 boost shared ptr 的误解 int r new int 0 gratuitous pointer leak got to initialize
  • 一个 JFrame 打开另一个 JFrame

    我有一个 JFrame 和 JPanel 充满某事与动作监听器 当用户单击一个对象时 我想打开另一个 JFrame 这是我所做的 public void actionPerformed ActionEvent e Object source
  • 使用 Cocoa Touch 教程:在 iPhone 操作系统上提取通讯录地址值

    我已经遵循了以下教程 在模拟器中效果很好 但是在我的手机上 当选择地址时 谷歌地图启动 我想我已经为此伤透了脑筋 我将其与 NavBarContolloer 结合使用任何帮助都会很棒 摘自 Cocoa Touch 教程 在 iPhone O
  • 使用 scipy.optimize 最大化目标函数

    scipy optimize 模块具有 scipy optimize minimize 它允许找到最小化目标函数的值 但没有 scipy optimize maximize 为什么 如何使用 SciPy 解决最大化问题 最大化f 我们最小化
  • 如何根据未知数量的输入参数在 LESS 中创建 CSS 规则列表?

    我想制作一个 LESS mixin 来翻译图像 如下所示 translate images image png de en uk 输出如下所示 background image url images image png lang de ba
  • Xcode 警告:“输出文件有多个构建命令”

    我收到这样的错误 警告 警告 输出文件 Developer B Be build Release iphonesimulator BB app no png 的多个构建命令 警告 警告 输出文件 Developer B Be build R
  • 自动将产品添加到购物车时排除某些类别 WooCommerce

    在 WooCommerce 中 我使用一个代码 在将任何菜肴添加到购物车时自动添加包装 function add delivery charge to cart cart if is admin defined DOING AJAX ret
  • PHP 继承语法

    我想知道是否 foo lt lt lt EOT Hello World EOT 与以下一样有效 foo lt lt
  • 在 Mac 上启动 Neo4j

    我试图启动 neo4j 服务器 但没有成功 我已经按照指南进行操作了http docs neo4j org chunked snapshot server installation html mac osx service 但不断出现以下错
  • 基于另一个列表的列表排序

    我有两个通用列表对象 其中一个包含 id 和排序 另一个包含一堆 id 第二个列表中的每个 id 都具有对第一个列表的 id 引用 例如 public class OptionType public int ID get set publi
  • 如何用JPA注解引入多列约束?

    我试图在 JPA 映射实体上引入多键约束 public class InventoryItem Id private Long id Version private Long version ManyToOne JoinColumn pro
  • 使用扫描仪的 Java 输入不匹配错误

    我是一名 Java 新手 正在尝试完成一个程序 该程序使用扫描仪输入 5 个学生的姓名 然后在其中循环以获得每个学生的 3 个成绩 我被困住了 因为我不断收到输入不匹配错误 但我不知道为什么 我尝试正确匹配变量输入的类型 任何帮助将不胜感激
  • 使用brew 安装旧版本[电子邮件受保护]?

    我想在我的 Mac Os Big Sur 上安装 gcc 版本 9 3 0 我想知道我是否仍然可以使用brew 来做到这一点 我已经拥有最新版本的brew 但我想可能降级或另外拥有gcc v9 3 0 我按照下面的三个命令 brew tap
  • 为什么Scala没有decltype?

    有时人们可能想声明x与以下类型相同y With vals类型推断可以很好地处理这个问题 但这在其他一些领域不起作用 比如具有函数类型 对于具有一定 C 经验的程序员来说 一个显而易见的解决方案是decltype 当前的 Scala 中似乎不
  • 在 Cronjob (Crontab) 中使用会话

    您好 可以在 cronjob 中使用会话吗 我使用的脚本是 session start if empty SESSION startwert startwert 0 else startwert SESSION startwert if e
  • 如何合并命令行常量和配置常量

    我有一个项目 其中为配置定义了预处理器常量