2009-01-22 6 views
10

मुझे आश्चर्य है कि मेरे लिए एक टीएफएस टीम प्रोजेक्ट में दूषित सभी 'फाइलों' को सूचीबद्ध करने का कोई तरीका है या नहीं। जो मैं करना चाहता हूं वह एक विशेष नाम की फाइलों की खोज है जिसमें शाखाओं ($/MyTeamProject/Main/Build/instruct.xml और $/MyTeamProject/शाखाओं/रिलीज़_1.0) के कारण टीएफएस के भीतर निश्चित पथ नहीं हैं। एक बार फ़ाइल मिलने के बाद मैं इसे कुशल बनाना चाहता हूं।tfs api का उपयोग कर एक टीम प्रोजेक्ट की फ़ाइलों को कैसे सूचीबद्ध करें?

मुझे लगता है कि जब हम एक टीम प्रोजेक्ट के भीतर दूषित इकाइयों की बात करते हैं तो पारंपरिक बात नहीं करते हैं और इसलिए यह थोड़ा मुश्किल हो सकता है?

मैंने फ़ाइल में हेरफेर करने के लिए कुछ नमूने देखे हैं लेकिन सभी नमूनों ने अभी तक पथ तय किए हैं।

उत्तर

8

यहाँ कैसे मैं समझ गए होंगे एक TFS परियोजना की सभी फाइलों को सूचीबद्ध करने के लिए कैसे:

अपनी परियोजना के लिए एक संदर्भ के रूप में Microsoft.TeamFoundation.Client और Microsoft.TeamFoundation.VersionControl.Client जोड़ें।

Microsoft.TeamFoundation.Client और Microsoft.TeamFoundation.VersionControl.Client

TeamFoundationServer server = new TeamFoundationServer("server"); 
VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer; 

ItemSet items = version.GetItems(@"$\ProjectName", RecursionType.Full); 
ItemSet items = version.GetItems(@"$\ProjectName\FileName.cs", RecursionType.Full); 

foreach (Item item in items.Items) 
{ 
    System.Console.WriteLine(item.ServerItem); 
} 

दूसरा GetItems एक विशिष्ट फ़ाइल नाम के उन लोगों के लिए पाया वस्तुओं को प्रतिबंधित करेगा के लिए एक का उपयोग कर जोड़ें। मेरे पास यह नमूना है जो सभी फाइलों के लिए सर्वर पथ को आउटपुट कर रहा है।

16

यह एक अलग उत्तर नहीं है, लेकिन केवल वेंगाफू के कोड का अपग्रेड है। TeamFoundationServer कक्षा 2011 में अप्रचलित है (यह सुनिश्चित नहीं है कि यह कब हुआ, मुझे पता है कि यह अभी तक अप्रचलित है)। वेंगाफू का कोड 200 9 से है, इसलिए यह समझ में आता है। इसके बजाय TfsTeamProjectCollectionFactory फैक्टरी क्लास के साथ TfsTeamProjectCollection क्लास का उपयोग करें।

यहाँ उन्नयन, परिवर्तन की केवल एक पंक्ति है:

//TeamFoundationServer server = new TeamFoundationServer("server"); 
TfsTeamProjectCollection server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsServerURI:8080/tfs/")); 

VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer; 

ItemSet items = version.GetItems(@"$\ProjectName", RecursionType.Full); 
//ItemSet items = version.GetItems(@"$\ProjectName\FileName.cs", RecursionType.Full); 

foreach (Item item in items.Items) 
{ 
    System.Console.WriteLine(item.ServerItem); 
} 
+1

version.GetItems (@ "$ \ ProjectName", RecursionType.Full) यह भी काम करता है: version.GetItems (@ "$/ProjectName ", रिकर्सन टाइप। फुल) --- तो या तो स्लैश या बैकस्लैश काम करता है –

संबंधित मुद्दे