2009-10-05 18 views
18

Bir MSBuild projesinden aramak istediğim bir toplu iş komut dosyası var ve the documentation, MSBuild projesindeki toplu işten (konsol/ortam değişkenleri) çıktı kullanamadığımı söylüyor.Bir MSBuild yürütme görevinden çıktıların toplanması

Bir çözüm var mı?

+1

İstediğimi yapan ve çıktıyı veren özel bir MSBuild görevi yazmayı bitirdim. – ripper234

+0

Bu bağlantı yararlı olabilir: http://social.msdn.microsoft.com/Forums/ar/tfsbuild/thread/ef1a0e09-ef66-4ddf-947b-149311182b43 –

+0

Sorununuzu çözen özel MDBuild görevinizi kaydeder misiniz? –

cevap

24

"> output.txt" komutunu kullanarak komutun çıktısını bir dosyaya yönlendirebilir ve bunu bir değişkene okuyabilirsiniz.

<PropertyGroup> 
    <OutputFile>$(DropLocation)\$(BuildNumber)\Output.txt</OutputFile> 
</PropertyGroup> 
<Exec Command="dir > &quot;$(OutputFile)&quot;" /> 
<ReadLinesFromFile File="$(OutputFile)"> 
    <Output TaskParameter="Lines" ItemName="OutputLines"/> 
</ReadLinesFromFile> 
<Message Text="@(OutputLines->'%(Identity)', '%0a%0d')" /> 
+4

numaralı dosyaya yeniden yönlendirilmeden nasıl yapılacağını gösterir, bu komutun çıktısı neden bir dosya oluşturulmalı, neden bir dosya yazılmalıdır? MSBuild mantığı için yararlı? Sonra dosyayı daha sonra silmeniz gerekir ... – knocte

+1

Böyle mantık kullanmak, yönetmek için acı verici olur ama ben hiç çalışmayan ve çirkin çalışmayı tercih ederim. – evanmcdonnal

+2

Katılıyorum, biraz özensiz olsa da, içeriğini kontrol ettikten hemen sonra MSBuild satırını eklemek için bir anlaşma büyük değil, bu nedenle orada kalmak dosyaları kalıyor. – NightOwl888