#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