Bạn có thể viết một logger tùy chỉnh như đã giải thích ở đây: http://msdn.microsoft.com/en-us/library/ms171471.aspx
Dưới đây là một chút mã để giúp bạn bắt đầu:
public class SummaryLogger : Logger
{
int warningCount = 0;
int errorCount = 0;
public override void Initialize(IEventSource eventSource)
{
eventSource.WarningRaised += eventSource_WarningRaised;
eventSource.ErrorRaised += eventSource_ErrorRaised;
eventSource.BuildFinished += eventSource_BuildFinished;
}
void eventSource_WarningRaised(object sender, BuildWarningEventArgs e)
{
warningCount++;
Console.WriteLine("Warning: " + e.Message);
}
void eventSource_ErrorRaised(object sender, BuildErrorEventArgs e)
{
errorCount++;
Console.WriteLine("Error: " + e.Message);
}
void eventSource_BuildFinished(object sender, BuildFinishedEventArgs e)
{
Console.WriteLine("MSBuild Finished: " + errorCount + " errors | " + warningCount + " warnings.");
}
}
logger này ghi cảnh báo, lỗi và Tóm tắt số lượng lỗi và cảnh báo. Bạn sẽ cần phải thêm một chút mã cho thời gian và dự án, để nó chính xác là những gì bạn muốn.
Để sử dụng nó, bạn gọi MSBuild với params sau thêm vào nó:
/nologo /noconsolelogger /logger:pathTo/SummaryLogger.dll
Nguồn
2014-01-28 20:39:03
Tôi cũng đã thử cách này và không nghĩ rằng điều đó có thể ... Ngoài sự tò mò, có gì sai với đầu ra tiêu chuẩn? Tôi đã tìm thấy nó rất hữu ích trong việc gỡ lỗi các vấn đề xây dựng và có thể dễ dàng bị xóa đi với một 'cls' gọi –
@NickNieslanik Đầu ra tiêu chuẩn cho giải pháp là lớn và bộ đệm dấu nhắc lệnh không (không sửa đổi) đủ lớn để cho phép bạn xem lại đầu ra bàn điều khiển đầy đủ, cộng với rất nhiều đầu ra như tệp sao chép, tệp đã xóa Tôi không quan tâm đến –
Tại sao bạn không sử dụng File Logger để khắc phục sự cố bộ đệm lệnh? điều đó sẽ làm giảm bớt ít nhất một trong những vấn đề. Bạn có thể sử dụng trình ghi tệp để thực hiện những việc như "ghi nhật ký lỗi cho một tệp, cảnh báo cho một tệp khác và thông tin thường xuyên đến một tệp thứ ba" –