Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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 SDK确定签出文件是否已更改_C#_Tfs_Tfs Sdk - Fatal编程技术网

C# 如何使用TFS SDK确定签出文件是否已更改

C# 如何使用TFS SDK确定签出文件是否已更改,c#,tfs,tfs-sdk,C#,Tfs,Tfs Sdk,我有一个生成C#文件的工具。我已经能够通过编程方式签出该文件 使用此方法: private static void CheckoutFile(string fileName) { var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName); var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri); var wor

我有一个生成C#文件的工具。我已经能够通过编程方式签出该文件 使用此方法:

private static void CheckoutFile(string fileName)
{
    var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName);
    var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri);
    var workspace = workspaceInfo.GetWorkspace(server);

    workspace.PendEdit(fileName);
}

但是在生成文件之后,我想确定文件是否有任何更改,如果没有,则撤消签出。如何使用TFS SDK做到这一点?

基本上,TFS客户端(
tfpt uu
)通过比较本地文件的哈希值与工作区中版本的服务器项的哈希值来确定是否已更改签出文件

要实现此行为,请执行以下操作:

  • 计算本地文件的MD5哈希
  • 在服务器上查询项目:
  • 将的值与步骤1中计算的值进行比较

  • 这正是我所需要的。撤消操作非常耗时,因此我选择创建一个临时文件,并且仅在文件实际发生更改时签出该文件。