Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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
Tfs 如何以编程方式操作挂起的更改窗口?_Tfs_Visual Studio 2012_Visual Studio Sdk_Tfs Sdk - Fatal编程技术网

Tfs 如何以编程方式操作挂起的更改窗口?

Tfs 如何以编程方式操作挂起的更改窗口?,tfs,visual-studio-2012,visual-studio-sdk,tfs-sdk,Tfs,Visual Studio 2012,Visual Studio Sdk,Tfs Sdk,我正在创建TFS合并向导的克隆以添加新功能 我已经与workspakce.Merge api合并。现在我需要一种编程方式来显示挂起的更改-冲突窗口 我已经从PendingChangesExt获得了一个IVsWindowFrame,如: GetStatus status = sourceExplorer.Workspace.Merge(sourcePath, targetPath, versionFrom, versionTo, LockLevel.None, RecursionType.F

我正在创建TFS合并向导的克隆以添加新功能

我已经与workspakce.Merge api合并。现在我需要一种编程方式来显示挂起的更改-冲突窗口

我已经从PendingChangesExt获得了一个IVsWindowFrame,如:

   GetStatus status = sourceExplorer.Workspace.Merge(sourcePath, targetPath, versionFrom, versionTo, LockLevel.None, RecursionType.Full, MergeOptionsEx.None);

   IVsWindowFrame frame = pendingChanges.VsWindowFrame;
   frame.Show(); 
调用show()时,“挂起的更改”窗口将使用签出文件刷新,但我需要选择此屏幕中的最后一个按钮(冲突),以显示合并的冲突


我如何通过IVsWindowFrame以编程方式单击此屏幕上的冲突按钮?

我在Chad Boles的帮助下找到了一个解决方案:

public void refreshPendingChanges()
{
  Object customIn = null;
  Object customOut = null;

  //Show TfsPendingChanges
  m_applicationObject.ExecuteCommand("View.TfsPendingChanges", "");

  //Refresh
  m_applicationObject.Commands.Raise("{FFE1131C-8EA1-4D05-9728-34AD4611BDA9}", 4808, ref customIn, ref customOut);

  //Activate Source Explorer
  m_applicationObject.DTE.Windows.Item("{99B8FA2F-AB90-4F57-9C32-949F146F1914}").Activate(); //I get this GUID recording a Macro.
  //Show Conflicts
  m_applicationObject.DTE.ExecuteCommand("File.TfsResumeConflictResolution"); 
}

感谢Chad Boles,这让我想起了File.tfsresumeconflicteresolution

我找到了部分解决方案,但我无法使冲突窗口显示yeat!仅显示源挂起的更改。。。m_applicationObject.ExecuteCommand(“View.TfsPendingChanges”,简称“)//刷新m_applicationObject.Commands.Raise({ffe11131c-8EA1-4D05-9728-34AD4611BDA9}),4808,参考customIn,参考customOut)//Get-Out=null;m_applicationObject.Commands.Raise({ffe11131c-8EA1-4D05-9728-34AD4611BDA9}),4832,参考customIn,参考customOut);