Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从TFS获取文件的最新版本_C# - Fatal编程技术网

C# 从TFS获取文件的最新版本

C# 从TFS获取文件的最新版本,c#,C#,我正在尝试从TFS更新本地文件,但无法使其正常工作。我甚至不知道它为什么会失败,因为TFS没有向我抛出异常或任何东西,它只是默默地反抗我,不更新任何东西 public bool getLatest(string[] items) { try { Workspace myWorkspace = createWorkspace(); myWorkspace.Get(items, VersionSpec.

我正在尝试从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的所有其他通信都很好,挂起更改、签入或签出都正常。这是相当令人沮丧的

虽然我之前不知道这方面的情况,但我想我应该对我的评论做一点扩展,希望它能有所帮助(因为似乎没有其他人回答)

根据WorkSpace.Get()应该返回一个对象,告诉您有多少警告/失败/冲突-此时您正在丢弃这些信息

如果您希望以与记录其他错误相同的方式记录获取最新信息的失败,您可以尝试以下方法:

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中编写的,因此,如果我输入错误/做了一些愚蠢的事情,我深表歉意。

根据,
WorkSpace.Get(),听起来它可能有你需要的信息。非常感谢你的回答。问题出在工作区映射的某个地方,这完全是奇怪的,因为其他函数都可以工作,但是这些信息非常有用!