【问题标题】:Azure DevOps Conditional CompilationAzure DevOps 条件编译
【发布时间】:2019-07-19 03:16:21
【问题描述】:

我正在尝试使用一些使用条件编译符号的项目在 Azure DevOps 中设置构建。构建不断失败,因为它似乎没有看到我的符号。任何想法在哪里应用设置?

我有两个项目共享一些代码,符号基本上是用来控制项目之间的一些使用语句。

Azure DevOps 似乎忽略了我的 csproj 文件标签中的内容。 这是相关 csproj 部分的图片。

这是 MSBuild 任务主配置屏幕的图片。

这里是一段代码——抱歉,我必须从所有内容中删除库的名称。

构建在这个项目上抛出一个错误,说“Microsoft.ServiceFabric”不存在 - 它不应该因为条件编译应该使它使用具有另一个 using 语句的 XYZ_ServiceFabric。

我可以确认,无论是否使用常量定义,项目都可以正常构建。

感谢您的帮助。

【问题讨论】:

  • 您能否提供一些说明您用于构建项目的任务以及带有条件的 .csproj(和示例代码)文件?条件编译是否在本地工作?
  • 您似乎正在使用 MSBuild 任务,是否有特定原因?使用 Visual Studio Build 任务得到相同的结果吗?

标签: azure-devops


【解决方案1】:

Visual Studio 构建步骤应获取您的条件编译符号。请确保为“发布”配置设置它们,而不仅仅是为了调试。

因为默认情况下它们是单独设置的,Azure Piplines 的默认行为是在“发布”中构建。

如果您想更改它,您可以将构建的“BuildConfiguration”变量设置为“debug”(但我不建议这样做)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2020-01-26
    • 2019-05-29
    • 2021-03-20
    相关资源
    最近更新 更多