Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How get exec task output with msbuild

I'm trying to get simple output by exec task with msbuild:

<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> 

But get next output:

  echo test output   test output   echo test output   test output   ----------------------------------------   ----------------------------------------   ---------------------------------------- 

How can I get output by my script?

like image 879
tbicr Avatar asked Jan 20 '12 08:01

tbicr


1 Answers

Good news everyone! You can now capture output from <Exec> as of .NET 4.5.

Like this:

<Exec ... ConsoleToMSBuild="true">   <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> </Exec> 

Simply:

  • Add ConsoleToMsBuild="true" to your <Exec> tag
  • Capture the output using the ConsoleOutput parameter in an <Output> tag

Finally!

Documentation here

like image 127
Avi Cherry Avatar answered Sep 23 '22 15:09

Avi Cherry