2012-12-20 24 views
5

से फ़ाइल का नवीनतम संस्करण प्राप्त करें मैं टीएफएस से स्थानीय फाइलों को अपडेट करने की कोशिश कर रहा हूं लेकिन मैं इसे काम नहीं कर सकता। मुझे यह भी नहीं पता कि यह क्यों विफल रहा है क्योंकि टीएफएस मुझे अपवाद या कुछ भी नहीं फेंकता है, यह चुपचाप मुझे निंदा करता है और कुछ भी अपडेट नहीं करता है।टीएफएस

public bool getLatest(string[] items) 
{ 
    try 
    { 
     Workspace myWorkspace = createWorkspace(); 
     myWorkspace.Get(items, 
         VersionSpec.Latest, 
         RecursionType.Full, 
         GetOptions.Overwrite); 

     return true; 
    } 
    catch (Exception ex) 
    { 
     Tools.MessageLogger.LogError(ex.Message); 
     return false; 
    } 
} 

मैं जोड़ने के लिए है कि TFS के साथ अन्य सभी संचार बस, ठीक pendingchanges, चेकइन है या चेकआउट सभी काम कर रहे हैं की है। यह काफी निराशाजनक है।

+1

[डॉक्स] (http://msdn.microsoft.com/en-us/library/bb139316%28v=vs.80%29.aspx) के अनुसार, 'वर्कस्पेस.गेट()' को वापस लौटना चाहिए [ GetStatus] (http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.getstatus%28v=vs.80%29.aspx) वस्तु जो आप कितने चेतावनी/विफलताओं/संघर्ष बताता है वहां थे - अगर आप इसे स्टोर करते हैं और डीबग में इसका निरीक्षण करते हैं, तो ऐसा लगता है कि इसमें आपकी आवश्यक जानकारी हो सकती है। – Bridge

उत्तर

3

जबकि मैं इस में कोई पूर्व ज्ञान है, मुझे लगा कि मैं अपने टिप्पणी पर विस्तार चाहते हैं आशा यह मदद कर सकता है (के रूप में कोई किसी और का जवाब देने जा रहा है) में एक छोटे से। इस समय आप सिर्फ इस जानकारी दूर फेंक रहे हैं -

documentation के अनुसार, WorkSpace.Get() एक GetStatus वस्तु जिससे आपको पता चलता है कि कितने चेतावनी/विफलताओं/संघर्ष वहाँ थे लौटना चाहिए।

आप उसी तरह से नवीनतम प्राप्त करने में विफलताओं कि आप अन्य त्रुटियों प्रवेश कर रहे हैं के लिए लॉग इन करना चाहता था, तो आप बात की इस तरह की कोशिश कर सकते:

public bool getLatest(string[] items) 
{ 
    try 
    { 
     Workspace myWorkspace = createWorkspace(); 

     var results = myWorkspace.Get(items, VersionSpec.Latest, RecursionType.Full, GetOptions.Overwrite); 
     var failures = results.GetFailures(); 

     foreach(var fail in failures) 
     { 
      Tools.MessageLogger.LogError(fail.GetFormattedMessage()); 
     } 

     return failures.Count == 0; 
    } 
    catch (Exception ex) 
    { 
     Tools.MessageLogger.LogError(ex.Message); 
     return false; 
    } 
} 

मैं नहीं बल्कि किसी पाठ संपादक में इस बारे में पता था एक उचित आईडीई की तुलना में, क्षमा करें अगर मैंने टाइपो/कुछ मूर्खतापूर्ण किया है।

+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद। समस्या वर्कस्पेस मैपिंग में कहीं थी, जो पूरी तरह अजीब थी क्योंकि अन्य कार्यों ने काम किया लेकिन यह जानकारी बहुत उपयोगी थी! – Flobbo