2012-12-20 25 views
5

gelen dosyanın en son sürümünü edinin. TFS'nin neden başarısız olduğunu bile bilmiyorum çünkü TFS bana bir istisna ya da bir şey atmıyor, sadece sessizce meydan okuyor ve hiçbir şeyi güncellemiyor.ben TFS yerel dosyaları güncellemeye çalışıyorum ama işe alınamıyor TFS

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; 
    } 
} 

Ben TFS ile diğer tüm iletişim tarihi, sadece ince pendingchanges veya çıkış tüm çalıştığını eklemek zorunda. Bu oldukça sinir bozucu. Bununla hiç ön bilgileri ettik iken

+1

[dokümanlar] göre (http://msdn.microsoft.com/en-us/library/bb139316%28v=vs.80%29.aspx), 'WorkSpace.Get() '[a döndürmelidir GetStatus] (http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.getstatus%28v=vs.80%29.aspx) size kaç tane uyarı/hata/çakışma olduğunu söyleyen bir nesne Bunu saklamak ve bunu hata ayıklamada incelerseniz, ihtiyacınız olan bilgilere sahip olabileceği gibi geliyor. – Bridge

cevap

3

, benim yorumum genişletmek düşündüm (kimse başka yanıtlayan gibi görünüyor gibi) yardımcı olabilecek umuduyla biraz. Şu anda sadece çekip bu bilgileri atıyorlar -

documentation göre, WorkSpace.Get() birçok uyarı/başarısızlıklar/çakışma nasıl anlatır bir GetStatus nesne döndürmesi gerekir.

Eğer diğer hataları kaydetmekte olduğunuzu aynı şekilde son almakla hataları günlüğe istese, bu tür bir şey deneyebilirsiniz: Doğrusu bir metin editörü bu yazdım

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; 
    } 
} 

Doğru bir IDE'den daha fazla, eğer bir yazım hatası yaptım/aptalca birşeyler yapsam özür dilerim.

+0

Cevabınız için çok teşekkür ederim. Sorun çalışma alanı haritalama bir yerde oldu, bu tamamen garipti çünkü diğer işlevler işe yaradı ama bu bilgi çok yardımcı oldu! – Flobbo