आप एक कस्टम लकड़हारा लिख सकते हैं जैसा कि यहां बताया: http://msdn.microsoft.com/en-us/library/ms171471.aspx
यहाँ आप आरंभ करने के लिए कोड का एक सा है:
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.");
}
}
यह लकड़हारा लॉग चेतावनी, त्रुटियों और त्रुटियों और चेतावनियों की मात्रा का सारांश देता है। आपको समय और परियोजनाओं के लिए थोड़ा सा कोड जोड़ना होगा, ताकि यह वही हो जो आप चाहते हैं।
इसका इस्तेमाल करने के लिए, आप निम्न पैरामीटर से जोड़ रहे है साथ MSBuild फोन:
/nologo /noconsolelogger /logger:pathTo/SummaryLogger.dll
स्रोत
2014-01-28 20:39:03
मैंने इस मैनी तरीकों का भी प्रयास किया है और ऐसा नहीं लगता कि यह संभव है ... जिज्ञासा से, मानक आउटपुट में क्या गलत है? मैंने पाया है कि बिल्डिंग मुद्दों को डिबग करने में बहुत मददगार है और आसानी से 'सीएलएस' कॉल –
@NickNieslanik के साथ आसानी से मिटाया जा सकता है समाधान के लिए मानक आउटपुट बड़ा है, और कमांड प्रॉम्प्ट बफर (संशोधन के बिना) अनुमति देने के लिए पर्याप्त नहीं है आप पूर्ण कंसोल आउटपुट की समीक्षा करते हैं, साथ ही कॉपी किए गए फ़ाइल जैसे आउटपुट के बहुत सारे, हटाए गए फ़ाइल में मुझे –
में दिलचस्पी नहीं है क्यों आप फ़ाइल लॉगर उपाय कमांड प्रॉम्प्ट बफर समस्या का उपयोग नहीं करते हैं? जो कम से कम एक मुद्दों को कम करेगा। आप फाइल लॉगर का उपयोग ऐसी चीजों को करने के लिए कर सकते हैं जैसे "एक फाइल में त्रुटियों को लॉग करें, दूसरी ओर चेतावनियां, और नियमित जानकारी को तीसरे" –