2008-09-29 2 views
9

मैं टीएफएस एपीआई का उपयोग कर सी # के साथ फ़ाइल को स्थानांतरित करने के तरीके पर एक अच्छा समय के लिए गुगल रहा हूं। विचार यह है कि डेवलपर्स को डेटाबेस अपग्रेड स्क्रिप्ट ड्रॉप करें और बिल्ड प्रक्रिया को फ़ोल्डर में मिलना एक स्क्रिप्ट स्क्रिप्ट बनाता है और फ़ोल्डर में सभी फ़ाइलों को डेटाबेस निर्माण संस्करण के साथ एक नए फ़ोल्डर में ले जाता है जिसे हमने अभी बनाया है।मैं सी # एपीआई के साथ एक टीएफएस फ़ाइल कैसे ले जाऊं?

मैं गंभीरता से फ़ाइलें प्रोग्राम के माध्यम से TFS स्रोत नियंत्रण फ़ाइलें हेरफेर सीखने के लिए किसी को भी एक अच्छा गाइड/MSDN प्रारंभिक बिंदु की जान लेता है

(cmd कमांड लाइन से अलग) TFS में आगे बढ़ ... के बारे में कोई संदर्भ नहीं मिल सकता है सी#?

उत्तर

10

यह बहुत आसान है :)।

Microsoft.TeamFoundation.VersionControl.Client.Workspace workspace = GetMyTfsWorkspace(); 
workspace.PendRename(oldPath, newPath); 

तो आपको निश्चित रूप से चेकइन की आवश्यकता है। ऐसा करने के लिए "वर्कस्पेस। गेटपेन्डिंग चेंज()" और "वर्कस्पेस। चेकइन()" विधियों का उपयोग करें।

7

यहां एक त्वरित और गंदे कोड नमूना है जो आपको वहां से अधिकतर तरीके से प्राप्त करना चाहिए।

using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.VersionControl.Client; 


public void MoveFile(string tfsServer, string oldPath, string newPath) 
{ 
    TeamFoundationServer server = TeamFoundationServerFactory.GetServer(tfsServer, new UICredentialsProvider()); 
    server.EnsureAuthenticated(); 
    VersionControlServer vcserver = server.GetService(typeof(VersionControlServer); 
    string currentUserName = server.AuthenticatedUserName; 
    string currentComputerName = Environment.MachineName; 
    Workspace[] wss = vcserver.QueryWorkspaces(null, currentUserName, currentComputerName); 
    foreach (Workspace ws in wss) 
    { 

     foreach (WorkingFolder wf in wfs) 
     { 
      bool bFound = false; 
      if (wf.LocalItem != null) 
      { 
       if (oldPath.StartsWith(wf.LocalItem)) 
       { 
        bFound = true; 
        ws.PendRename(oldPath, newPath); 
        break; 
       } 
      } 
      if (bFound) 
       break; 
     } 
    } 
} 
संबंधित मुद्दे