0

我正在使用具有合并变更集选项的 VS 扩展。如果检测到冲突,此扩展会打开“解决冲突”窗口,允许我选择“自动合并”(禁用)、“在合并工具中合并”、“获取源”、“获取目标”等。

问题是窗口是模态的。因此,如果我想在默认合并工具中查看合并,它会将比较作为“解决冲突”窗口后面的选项卡式窗口打开。

打开解决冲突窗口的代码是这样的:

try
{
    Assembly assres = Assembly.GetAssembly(typeof(ControlAddItemsExclude));
    var dlgResolveConflicts = assres.GetTypes().FirstOrDefault(x => x.Name == "DialogResolveConflicts");
    dlgResolveConflicts.InvokeMember("ResolveConflicts", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Static, null, null, new object[] { wrkspc, null, true, null });
}
catch(Exception ex)
{
    Utilities.OutputCommandString(ex.ToString());
    MessageBox.Show(ex.ToString());
}

你们能帮我以非模式方式打开“解决冲突”窗口,以便我可以与合并比较工具进行交互吗?

亲切的问候, Asser Fahrenholz

4

1 回答 1

2

我找到了解决方法:

当模态窗口打开需要手动冲突时,我打开另一个 VS2013,转到 Pending Changes,转到 Resolve Conflicts,使用比较工具进行所有手动合并。完成后,关闭多余的 VS2013 回到原来的 VS2013(模式窗口仍然打开),按刷新,关闭窗口,继续。

于 2015-10-28T01:22:48.557 回答