C# 检查文件是否已在源代码管理中

C# 检查文件是否已在源代码管理中,c#,.net,tfs,tfs-sdk,C#,.net,Tfs,Tfs Sdk,我正在使用中的类以编程方式使用TFS。我的目标是将本地文件夹中的文件签入到源代码管理中。有些文件可能已经存在于SC中,需要编辑,有些文件是新的,需要添加,有些文件存在于SC中,没有更改,所以我不需要对它们做任何操作 我的问题是,我不知道如何检查源代码管理中是否已经存在一个文件,所以我无法在代码中决定是否应该添加或编辑它。这些方法似乎都不能满足我的需要 我的守则如下: foreach (string file in fileList) { workspace.PendEdit(file);

我正在使用中的类以编程方式使用TFS。我的目标是将本地文件夹中的文件签入到源代码管理中。有些文件可能已经存在于SC中,需要编辑,有些文件是新的,需要添加,有些文件存在于SC中,没有更改,所以我不需要对它们做任何操作

我的问题是,我不知道如何检查源代码管理中是否已经存在一个文件,所以我无法在代码中决定是否应该添加或编辑它。这些方法似乎都不能满足我的需要

我的守则如下:

foreach (string file in fileList)
{
    workspace.PendEdit(file);
    workspace.PendAdd(file);
}

它能完成任务,但它看起来很笨,感觉很慢。正确的方法是什么?

我不知道“正确”,但在我的一个工具中,我利用它来获得你想要的东西。

在你的情况下,你必须用这样的东西来检查:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any)

不太清楚TFS。但每个scm都有
状态
,可用于检查回购中是否存在文件