Подтвердить что ты не робот

TFS 2015 SDK отсутствует Microsoft.WITDataStore64.dll

Я пытаюсь перейти к 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.

4b9b3361

Ответ 1

Ничто из этого не помогло мне. Я должен был скопировать этот файл в папку C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE (нашел это, используя procmon, чтобы узнать, где его ищет приложение).

Ответ 2

Мне пришлось добавить dll в проект запуска моего решения, чтобы заставить его работать. Пример:

MyTFSApp (клиент Windows)  пакет nuget установлен Microsoft.TeamFoundationServer.ExtendedClient  или  Microsoft.WITDataStore32.dll добавлен в папку bin

MyTfsLibrary (библиотека классов с кодом доступа к WorkItemStore)  пакет nuget установлен Microsoft.TeamFoundationServer.ExtendedClient

Ответ 3

Попробуйте скопировать эти Dll из GAC в локальный bin. Пакеты Nuget обычно создают ссылки на bin, поэтому, если ваша программа ищет там вместо GAC, это может быть причиной того, что она выбрасывает ошибку.