如何在msbuild/xbuild中为命令的输出设置属性
在msbuild/xbuild中,我希望有一个“libPath”属性,可以在命令行上使用如何在msbuild/xbuild中为命令的输出设置属性,msbuild,properties,exec,xbuild,Msbuild,Properties,Exec,Xbuild,在msbuild/xbuild中,我希望有一个“libPath”属性,可以在命令行上使用/p:libPath=“/path/to/all/libs”对其进行验证。但是当这个属性未定义时,我想调用pkg config--retrieve Path somePackage来获取当前的系统路径 我认为我需要将命令的输出存储在属性中。 该命令始终返回一行输出 我试过类似的东西 <PropertyGroup> <LibPath /> </PropertyGroup>
/p:libPath=“/path/to/all/libs”
对其进行验证。但是当这个属性未定义时,我想调用pkg config--retrieve Path somePackage
来获取当前的系统路径
我认为我需要将命令的输出存储在属性中。该命令始终返回一行输出 我试过类似的东西
<PropertyGroup>
<LibPath />
</PropertyGroup>
<Task ....>
<Exec Command="pkg-config --retrieve-Path somePackage"
Condition="$(LibPath)' == ''">
<OutputTaskParameter="output"
PropertyName="LibPath" />
</Exec>
</Task>
但这不起作用。您不能使用exec执行此操作,因为exec任务无法从其运行的工具或命令收集输出
您必须编写一个自定义msbuild任务来调用pkg config并在属性中收集此输出。您不能使用exec执行此操作,因为exec任务无法从其运行的工具或命令收集输出
您必须编写一个自定义msbuild任务来调用pkg config并将此输出收集到属性中。可以使用.Net 4.5完成此任务。另请参见。它可以通过.NET4.5完成。另见。