我正在尝试使用 msbuild
通过 exec 任务获取简单的输出:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Test">
<Exec Command="echo test output">
<Output TaskParameter="Outputs" ItemName="Test1" />
</Exec>
<Exec Command="echo test output">
<Output TaskParameter="Outputs" PropertyName="Test2" />
</Exec>
<Message Text="----------------------------------------"/>
<Message Text="@(Test1)"/>
<Message Text="----------------------------------------"/>
<Message Text="$(Test2)"/>
<Message Text="----------------------------------------"/>
</Target>
</Project>
但是得到下一个输出:
echo test output
test output
echo test output
test output
----------------------------------------
----------------------------------------
----------------------------------------
如何获取脚本的输出?
最佳答案
大家好消息!您现在可以捕获 <Exec>
的输出从 .NET 4.5 开始。
像这样:
<Exec ... ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
</Exec>
简单地说:
- 添加
ConsoleToMsBuild="true"
给您<Exec>
标签 - 使用
ConsoleOutput
捕获输出<Output>
中的参数标签
终于!
关于msbuild - 如何使用 msbuild 获取 exec 任务输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938679/