我正在尝试从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的所有其他通信都很好,等待更改,签入或结帐都可以。这非常令人沮丧。
答案 0 :(得分: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中写了这个,所以如果我做了一个错字/做了一些愚蠢的事情,我会道歉。