Ich versuche, eine einfache Ausgabe durch eine ausführende Aufgabe zu erhalten mit 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>
Aber nächste Ausgabe erhalten:
echo test output
test output
echo test output
test output
----------------------------------------
----------------------------------------
----------------------------------------
Wie kann ich von meinem Skript ausgegeben werden?
msbuild
exec
msbuild-task
tbicr
quelle
quelle
Antworten:
Gute Nachrichten, Leute! Sie können jetzt die Ausgabe ab
<Exec>
.NET 4.5 erfassen .So was:
<Exec ... ConsoleToMSBuild="true"> <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> </Exec>
Einfach:
ConsoleToMsBuild="true"
Ihrem<Exec>
Tag hinzuConsoleOutput
Parameter in einem<Output>
TagSchließlich!
Dokumentation hier
quelle
Ich bin an einem Punkt angelangt, an dem ich so frustriert bin über die Einschränkungen von MSBuild und die Dinge, die funktionieren sollen, aber nicht (zumindest nicht in jedem Kontext), dass ich so ziemlich immer etwas mit MSBuild tun muss Ich erstelle eine benutzerdefinierte Build-Aufgabe in C #.
Wenn keiner der anderen Vorschläge funktioniert, können Sie dies sicherlich auch tun.
quelle
Wenn Sie die Ausgabe in einer Array-ähnlichen Struktur und nicht in einer einfachen Zeichenfolge erfassen möchten, bei der die Ausgabezeilen durch ein Semikolon getrennt sind, verwenden Sie ItemName anstelle von PropertyName :
<Exec ... ConsoleToMSBuild="true"> <Output TaskParameter="ConsoleOutput" ItemName="OutputOfExec" /> </Exec>
quelle
Sie können die Ausgabe sozusagen in eine Datei leiten und zurücklesen.
quelle