Я разрабатываю инструмент TFS, чтобы помочь разработчикам в нашей компании.
Этот инструмент должен иметь возможность "просматривать" сервер TFS, как в Source Control Explorer. Я считаю, что с помощью VersionControlExt.Explorer.SelectedItems появится пользовательский интерфейс, который позволит пользователю просматривать сервер TFS (исправьте меня, если я ошибаюсь).
Однако VersionControlExt доступен только при разработке внутри Visual Studio (также называемый плагином). К сожалению, я разрабатываю приложение для Windows, которое не будет работать внутри VS.
Итак, вопрос в том, могу ли я использовать VersionControlExt вне Visual Studio? Если да, то как?
Вот попытка использования диалогового окна сведений о наборе изменений вне Visual Studio
string path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Assembly vcControls = Assembly.LoadFile(path + @"\Microsoft.TeamFoundation.VersionControl.Controls.dll");
Assembly vcClient = Assembly.LoadFile(path + @"\Microsoft.TeamFoundation.VersionControl.Client.dll");
Type dialogChangesetDetailsType = vcControls.GetType("Microsoft.TeamFoundation.VersionControl.Controls.DialogChangesetDetails",true);
Type[] ctorTypes = new Type[3] {vcClient.GetType("Microsoft.TeamFoundation.VersionControl.Client.VersionControlSever"),
vcClient.GetType("Microsoft.TeamFoundation.VersionControl.Client.Changeset"), typeof(System.Boolean)};
ConstructorInfo ctorInfo = dialogChangesetDetailsType.GetConstructor(ctorTypes);
Object[] ctorObjects = new Object[3] {VersionControlHelper.CurrentVersionControlServer, uc.ChangeSet, true};
Object oDialog = ctorInfo.Invoke(ctorObjects);
dialogChangesetDetailsType.InvokeMember("ShowDialog", BindingFlags.InvokeMethod, null, oDialog, null);