2012-02-15 7 views
5

के साथ मेल खाने वाली फ़ाइलें ढूंढें तो मैं सभी .xml और .pdb फ़ाइलों को ढूंढना चाहता हूं और उन्हें बिल्ड आउटपुट फ़ोल्डर से हटा देना चाहता हूं। मैं इसे एक समय में कर सकता हूं, लेकिन क्या मैं इसे मेल खाने वाली फाइलों के रूप में कर सकता हूं।टीएफएस या

+1

क्या आप इसे MSBuild स्क्रिप्ट के अंदर करने के बारे में पूछ रहे हैं? Mtbwt के लिए –

उत्तर

20

यदि आप इसे टीएफएस बिल्ड प्रक्रिया टेम्पलेट के हिस्से के रूप में कर रहे हैं तो आपको कुछ गतिविधियों और एक चर की आवश्यकता है। मैं इसके माध्यम से आपसे बात करने के लिए अपनी पूरी कोशिश करूंगा।

  1. एक अनुक्रम बनाएं कहीं निर्माण पूरा कर लिया है के बाद - मैं तो बस के बाद जहां फाइलों ड्रॉप स्थान में प्रतिलिपि की गई मेरा डाल दिया।
  2. एक चर बनाएं अनुक्रम प्रकार के matchedFiles कहा जाता है के दायरे वाला IEnumerable<String>
  3. अनुक्रम करने के लिए एक FindMatchingFiles गतिविधि जोड़ें और के रूप में
    • MatchPattern इस प्रकार गुण सेट: String.Format("{0}\**\*.xml;{0}\**\*.pdb", BuildDetail.DropLocation)। यदि आप ड्रॉप फ़ोल्डर की सफाई नहीं कर रहे हैं तो आप इसे BinariesDirectory का उपयोग करने के लिए बदल सकते हैं।
    • परिणाम: matchedFiles
  4. अनुक्रम करने के लिए एक foreach गतिविधि जोड़ें और इस प्रकार गुण सेट:
    • प्रकार: String
    • Foreach filematchedFiles
    • शरीर में एक नया InvokeMethod गतिविधि जोड़ सकते हैं और इस प्रकार गुण सेट में:
      • TargetType: System.IO.File
      • methodName: Delete
      • पैरामीटर: दिशा: In प्रकार: String मूल्य: file

अब एक हर फ़ाइल अपने निर्माण लॉग में हटाएँ, प्रक्रिया दृश्य स्टूडियो के साथ खाका XAML खोलते हैं, तो InvokeMethod कदम को खोजने के होने से बचाने के, और XAML में निम्न विशेषता जोड़ें:

mtbwt:BuildTrackingParticipant.Importance="None" 
+2

+1: BuildTrackingParticipant.Iportport = "कोई नहीं" टिप। धन्यवाद। – pantelif

+1

@ डेवशॉ, इस तरह का एक बड़ा जवाब। अगर मैं 100 बार इसे ऊपर उठा सकता हूं तो मैं चाहता हूं। धन्यवाद! – Matt

+0

मेरी इच्छा है कि मुझे यह 6 महीने पहले मिला था। धन्यवाद, डेवशॉ! – efisher