TFS Открытие окна разрешения конфликтов программно

Я использую расширение 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());
}

Не могли бы вы, ребята, помочь мне открыть окно "Разрешение конфликтов" немодальным образом, чтобы я мог взаимодействовать с инструментом сравнения слияний?

С уважением, Ассер Фаренхольц

1 ответ

Я нашел обходной путь:

Когда модальное окно открывается с необходимыми конфликтами вручную, я открываю еще один VS2013, перехожу к Pending Changes, перехожу к Resolve Conflicts, выполняю все ручные слияния, используя инструмент сравнения. Как только это будет сделано, закройте дополнительный VS2013go обратно к исходному VS2013 (с открытым модальным окном), нажмите Обновить, закройте окно и продолжите.

Другие вопросы по тегам