2012-12-20 11 views
5

TFSからローカルファイルを更新しようとしていますが、動作させることができません。私はTFSが私に例外や何かを投げつけないので、なぜ失敗しているのか分からず、静かに私を無視して何も更新しない。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; 
    } 
} 

私はTFSと他のすべての通信がうまくある、pendingchanges、チェックインやチェックアウトはすべて機能していることを追加する必要があります。これはかなりイライラしています。

+1

[docs](http://msdn.microsoft.com/en-us/library/bb139316%28v=vs.80%29.aspx)によると、 'WorkSpace.Get()'は[ 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; 
    } 
} 

私はむしろ、テキストエディタでこれを書きました適切なIDEよりも、私はtypoを作った場合、謝罪/何かばかげている。

+0

ありがとうございました。問題はワークスペースマッピングのどこかにありました。これは、他の機能はうまくいきましたが、この情報は非常に役に立ちました。 – Flobbo

関連する問題