не удается загрузить Microsoft.WITDataStore32.dll с помощью пакета nuget: Microsoft.TeamFoundationServer.ExtendedClient

#c# #visual-studio #dll #tfs

#c# #visual-studio #dll #tfs

Вопрос:

Я хочу создать библиотеку с помощью visual studio / c #, используя TFS API для создания / обновления рабочего элемента.

Я добавил пакет nuget «TeamFoundationServer.ExtendedClient» в мою библиотеку, и у меня возникает следующая ошибка при попытке получить доступ к WorkItemStores:

Не удается загрузить DLL ‘Microsoft.WITDataStore64.dll .

Это работает, когда я пытаюсь напрямую в своем консольном приложении, и это не так, когда я ссылаюсь на него в своей библиотеке и вызываю его из своего консольного приложения.

Еще одна странность заключается в том, что dll правильно находится в моей папке bin (Microsoft.WITDataStore32.dll и Microsoft.WITDataStore64.dll ).

Я пытаюсь переустановить TFS в своей локальной среде, переустановил пакет NuGet, попробовал другую библиотеку, она все еще не работает.

         tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(uri)); // https://mytfs.visualstudio.com/DefaultCollection
        tfs.Authenticate();

        var workItemStore = new WorkItemStore(tfs);
  

У кого-нибудь есть решение или хотя бы обходной путь?

Ответ №1:

Я исправил решение, вот обходной путь, если это может помочь :

необходимо ссылаться на dll в консольном приложении, вызывающем библиотеку.

Мы можем сделать это с помощью команды xcopy в вашей библиотеке postbuild command.

Добавьте это (замените TestConsoleApp вашим именем application) :

xcopy . $(SolutionDir)TestConsoleAppbinDebug /Y /R

Наслаждайтесь.

РЕДАКТИРОВАТЬ: это не самый простой способ исправить это, вместо этого я использовал другой способ создания рабочего элемента, мы можем найти документацию Microsoft здесь : https://learn.microsoft.com/en-us/azure/devops/integrate/quickstarts/create-bug-quickstart?view=azure-devops