【问题标题】:How do I set a property to the output of a command in msbuild/xbuild如何在 msbuild/xbuild 中将属性设置为命令的输出
【发布时间】:2010-04-21 05:58:42
【问题描述】:

在 msbuild/xbuild 中,我希望有一个“libPath”属性,可以使用/p:libpath="/path/to/all/libs" 在命令行上进行 ovveridden。但是当这个属性未定义时,我想调用pkg-config --retrieve-Path somePackage 来获取当前系统路径。

我想here 我需要将命令的输出存储在属性中。
该命令总是返回一行输出。

我尝试过类似的东西

<PropertyGroup>
  <LibPath />
</PropertyGroup>

<Task ....>
  <Exec Command="pkg-config --retrieve-Path somePackage"
        Condition="$(LibPath)' == ''">
   <OutputTaskParameter="output"
          PropertyName="LibPath" />
  </Exec>
</Task>

但这没有用。

【问题讨论】:

标签: msbuild properties exec xbuild


【解决方案1】:

您无法使用 exec 执行此操作,因为 Exec 任务无法从它运行的工具或命令收集输出。

您必须编写一个调用 pkg-config 的自定义 msbuild 任务并将此输出收集到一个属性中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-01
    • 2011-06-06
    相关资源
    最近更新 更多