Ответ 1
Ничто из этого не помогло мне. Я должен был скопировать этот файл в папку C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE (нашел это, используя procmon, чтобы узнать, где его ищет приложение).
Я пытаюсь перейти к dlls TFS 2015 SDK (версия 14) по нескольким причинам. Во-первых, они находятся в nuget, а во-вторых, для SDK 2013 SDK (версия 12) требуется 32-битный флаг, перевернутый в IIS.
Я снял гаджетный пакет, и пространства имен все совпадают с существующими пространствами имен версии 12.
Все компилируется отлично и не было ошибок при локальном развертывании.
Однако, когда я пытаюсь загрузить проекты с помощью службы WorkItemStore
.
TfsTeamProjectCollection collection = new TfsTeamProjectCollection(URL);
var service = collection.GetService<WorkItemStore>();
Я получаю:
Дополнительная информация: Не удается загрузить DLL 'Microsoft.WITDataStore64.dll': указанный модуль не может быть найденный. (Исключение из HRESULT: 0x8007007E)
Когда я включаю флаг 32 бит в IIS, я получаю:
Дополнительная информация: Не удается загрузить DLL 'Microsoft.WITDataStore32.dll': указанный модуль не может быть найденный. (Исключение из HRESULT: 0x8007007E)
Примечание: это был весь рабочий код, все, что я сделал, это удалить ссылки на сборки GAC и добавить пакет NUGET.
Согласно Microsoft, пакет nuget должен работать с TFS 2013 и работать для пользователей для SDK 2013 года
Существующие приложения Windows, использующие более старую версию клиента TFS OM.
Ничто из этого не помогло мне. Я должен был скопировать этот файл в папку C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE (нашел это, используя procmon, чтобы узнать, где его ищет приложение).
Мне пришлось добавить dll в проект запуска моего решения, чтобы заставить его работать. Пример:
MyTFSApp (клиент Windows) пакет nuget установлен Microsoft.TeamFoundationServer.ExtendedClient или Microsoft.WITDataStore32.dll добавлен в папку bin
MyTfsLibrary (библиотека классов с кодом доступа к WorkItemStore) пакет nuget установлен Microsoft.TeamFoundationServer.ExtendedClient
Попробуйте скопировать эти Dll из GAC в локальный bin. Пакеты Nuget обычно создают ссылки на bin, поэтому, если ваша программа ищет там вместо GAC, это может быть причиной того, что она выбрасывает ошибку.