【问题标题】:How to read the value of a custom workflow argument in a MSBuild proj file如何在 MSBuild proj 文件中读取自定义工作流参数的值
【发布时间】:2013-05-16 03:34:41
【问题描述】:

我使用here 概述的步骤添加了一个自定义工作流参数。现在,如何从包含在使用此自定义工作流的构建定义中的自定义 MSBuild 脚本中读取此参数的值?

更新: 确实不需要向工作流添加自定义参数。按照以下步骤,我能够将参数传递给 Exec 命令的 MSBuild 脚本。

  1. 在 MSBuildArguments 下的构建定义中,添加 /p:CommandArg=dev
  2. 在自定义 MSBuild 脚本中添加一个新属性 <CommandArg>placeholder</CommandArg>
  3. 编辑执行命令为:<Exec Command=CALL run.cmd $(CommandArg)/>

【问题讨论】:

    标签: msbuild workflow


    【解决方案1】:

    您需要更改 MSBuild 工作流活动参数以包含您的新参数。如果您在 XAML 工作流中搜索 mtbwa:MSBuild,您应该能够清楚地看到 CommandLine 构建参数是如何通过 String.Format 构建的,并将您的参数添加到传入的参数集中。

    【讨论】:

    • 我不确定这将如何帮助我实现目标,因为我不是在寻找实际的项目构建参数。我需要读取参数值并在自定义 MSBuild 脚本中将其用作 Exec 命令的参数。例如:如果自定义参数(在工作流程中)的值是“dev”,我需要 MSBuild 脚本将其选为 <Exec Command="CALL run.cmd dev/>,如果它是“test”,则作为 <Exec Command="CALL run.cmd test/>
    • 因此,如果您将值作为 $(MyCustomValue)= 传递到 MSBuild 命令行参数中,其中 是通过 String.Format 插入的工作流参数,那么您可以引用 $(MyCustomValue )在您的 MSBuild 脚本中的任何位置(即 )...从某种意义上说,您正在将值从 Workflow 传递到 MSBuild 并从一个变量上下文分配给另一个。
    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多