我有一個批處理腳本,我想從MSBuild項目中調用,the documentation說我不能在MSBuild項目中使用批處理(控制檯/環境變量)的輸出。從MSBuild執行任務收集輸出
是否有解決方法?
我有一個批處理腳本,我想從MSBuild項目中調用,the documentation說我不能在MSBuild項目中使用批處理(控制檯/環境變量)的輸出。從MSBuild執行任務收集輸出
是否有解決方法?
您可以使用「> output.txt」將命令的輸出重定向到文件並將其讀入變量。
<PropertyGroup>
<OutputFile>$(DropLocation)\$(BuildNumber)\Output.txt</OutputFile>
</PropertyGroup>
<Exec Command="dir > "$(OutputFile)"" />
<ReadLinesFromFile File="$(OutputFile)">
<Output TaskParameter="Lines" ItemName="OutputLines"/>
</ReadLinesFromFile>
<Message Text="@(OutputLines->'%(Identity)', '%0a%0d')" />
這看起來很hacky,如果命令的輸出是正義有用的MSBuild邏輯?然後你必須稍後刪除文件... – knocte 2012-01-20 18:50:51
使用這樣的邏輯的構建變得痛苦的管理,但我寧願它工作和醜陋,根本不工作。 – evanmcdonnal 2012-04-13 22:28:13
儘管我同意它有點草率,但在檢查其內容後立即添加MSBuild行
我寫了一個自定義的MSBuild任務,完成我想要的並返回輸出。 – ripper234 2009-10-05 10:43:37
此鏈接可能很有用:http://social.msdn.microsoft.com/Forums/ar/tfsbuild/thread/ef1a0e09-ef66-4ddf-947b-149311182b43 – 2011-09-23 09:19:17
您可以發佈您的自定義MDBuild任務來解決您的問題嗎? – 2013-09-11 14:46:41