2012-01-20 13 views
67

とのexecタスク出力を得る:どのように私は<code>msbuild</code>でのexecタスクによって、単純な出力を取得しようとしているの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> 

しかし、次の出力を得る:私は私のことで出力を得ることができますどのように

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

をスクリプト?

+1

[MSBuildの幹部のタスクからの出力を収集]の可能な重複(http://stackoverflow.com/questions/1519177/gathering-outputs-from-an-msbuild-exec-task) –

+0

でいるようです本当に、ありがとう私はドキュメンテーション情報を逃している – tbicr

+1

よくドキュメントは、一般的に不可能ではないものについてではありませんが、何ですか。それはあなたの質問が一般的だと思われるので、適切な「コミュニティコンテンツ」を追加して、MSDNのドキュメントを改善する必要があります。 –

答えて

5

私は、MSBuildの限界と、動作するはずのもの(少なくともあらゆるコンテキストではない)に苛まれている点を知りました。 MSBuildで何かするには、C#でカスタムビルドタスクを作成します。

他の提案がうまくいっていない場合、あなたは確かにそうすることができます。

+2

を使用しています。私のカスタムタスクはPythonスクリプトですが。 – NetworkBurger

+0

理解しやすいですが、私はMSBuildが出力/エラーコンソールに情報をパイプする構造化された方法であると考えています。私はそれがバッチファイルの上のステップだと確信していますが、 –

+1

この問題を抱えていたときから、これはトラックがダウンしていることを知っていますが、同じことが起きて、ToolsVersion = 12.0をルートに設定して解決しました。 ..これはいくつかの助けを期待しています:) –

1

出力をファイルにパイプして話すことができ、読み戻すことができます。

echo test output > somefile.txt 
109

おはようございます! .NET 4.5以降、<Exec>の出力をキャプチャできるようになりました。単に

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

:このよう

  • があなたの<Exec>タグ
  • ConsoleToMsBuild="true"を追加最後に

<Output>タグにConsoleOutputパラメータを使用して出力をキャプチャ!

Documentation here

+0

あなたはこれに関する文書にリンクできますか? –

+2

おっと、そうです。 http://msdn.microsoft.com/en-us/library/ms124731(v=VS.110).aspx –

+5

「属性が宣言されていません」というエラーが表示される... –

関連する問題