Где находится Microsoft.VisualStudio.TeamFoundation.VersionControl.dll в Visual Studio 2015

Я переношу свое собственное расширение ведения журнала TFS на VS 2015 и сталкиваюсь со многими проблемами с зависимостями. От большинства из них мне удалось избавиться, установив Microsoft.TeamFoundationServer.ExtendedClient нужет-пакет.

Однако все еще отсутствует одна ссылка, VersionControlExtclass

versionControlExt =
                    _applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt")
                    as VersionControlExt;

По документации он находится в Microsoft.VisualStudio.TeamFoundation.VersionControl.dll, но я вообще не могу найти этот файл. Кто-нибудь знает, где его взять или как изменить приведенный выше код, чтобы он работал с VS 2015?

Я использую Visual Studio 2015 Professional, версию 14.0.23107.0 D14REL.


person Grzegorz Sławecki    schedule 07.09.2015    source источник
comment
Он хранится в GAC на моем компьютере, C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.TeamFoundation.VersionControl\v4.0_12.0.0.0__b03f5f7f11d50a3a. Дата файла — 30 июля 2015 года, должно быть, она попала туда через установщик VS2015. Он имеет класс VesionControlExt. Версия, которую вы используете, имеет значение, не исключайте ее из вопроса. И покажите трассировку, которую вы получаете от Fuslogvw.exe   -  person Hans Passant    schedule 07.09.2015
comment
Я добавил детали выпуска в вопросе. FusLogVw ничего мне не дает, так как я даже не могу добавить ссылку в Visual Studio. Я нашел эту библиотеку глубоко в структуре папок Visual Studio, а также в GAC, именно там, где вы указали, но до сих пор не могу добавить ее в качестве ссылки на свой проект.   -  person Grzegorz Sławecki    schedule 08.09.2015


Ответы (2)


Хорошо, я наконец нашел проблему.

Тот, что находится в GAC (c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.TeamFoundation.VersionControl\), — это старая версия (11.0.50727.1) библиотеки. Он попадает туда с установкой VS 2015, но это не тот вариант.

Тот, который используется расширением Visual Studio Team Explorer, находится в c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\oglzibax.qr0\. Версия 14.0.23102.0.

Пока пытался использовать старую, постоянно получал MissingMethodException.

person Grzegorz Sławecki    schedule 11.09.2015
comment
Примечание: хэш последней папки, содержащей эту сборку, может отличаться. Я нашел свой с помощью Все - person Pakman; 14.10.2016

Для VS 2015 вы можете найти его расположение, перейдя к C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer. Если вы пойдете туда, а затем подниметесь на один каталог вверх, вы увидите, что Team Explorer — это символическая ссылка на C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\ftq4t4pd.guv (в моем случае). Таким образом, вместо того, чтобы поставлять библиотеки DLL с продуктом, они поставляют их в расширении, и всякий раз, когда расширение обновляется, они обновляют эту символическую ссылку, чтобы она указывала на него. Очень странно.

Для VS 2017 вы можете найти его, перейдя в C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer, заменив «Professional» на любую версию, которая у вас есть. установлены. Не похоже, что в VS 2017 есть символическая ссылка.

person csrowell    schedule 23.08.2018