Пакеты NuGet отсутствуют и не могут быть восстановлены после проверки тестового проекта - PullRequest
0 голосов
/ 16 апреля 2019

Недавно я добавил проект модульного тестирования NUnit 3 для Xamarin.Android в решение моего приложения в Visual Studio 2019. Мне удалось настроить его и запустить (успешно даже с некоторыми тестами!), Но как только япроверил проект в нашем репозитории и вытащил его на новую машину, я не могу заставить его работать в любом качестве, которое я пробовал.Каждый раз, когда я пытаюсь выполнить сборку, мне выдается сообщение об ошибке «Этот проект ссылается на пакет (ы) NuGet, которые отсутствуют на этом компьютере».Пакеты определенно доступны в каталоге проекта, и менеджер пакетов NuGet, похоже, распознает их наличие.

До сих пор я пробовал:

  • Удаление и переустановка пакетов с помощью диспетчера пакетов NuGet
  • Попытка Update-Package -Reinstall в консоли PM
  • Попытка Update-Package -Reinstall -ProjectName myProject в консоли PM и специальное нацеливание на тестовый проект.
  • Попытка Update-Package -Reinstall -Safe в консоли PM
  • Изменение вручную .csproj с помощью каталогов .dll для ссылок на пакеты.

После каждого из них мне предъявлялась одна и та же ошибка.«Этот проект ссылается на пакеты NuGet, которые отсутствуют на этом компьютере».Я точно знаю, что это не так.Что мне здесь не хватает?Кроме того, мне придется проходить этот процесс каждый раз, когда проект переносится на новую машину?

Обновление:

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

  1. В представлении Explorer проекта в Visual Studio я удалил «пакеты».'папка в корневом каталоге проекта.
  2. Я открыл окно консоли диспетчера пакетов, чтобы повторить попытку Update-Package -Reinstall, но на этот раз в окне консоли PM появилось сообщение о том, что Visual Studio заметила, чтотам отсутствовали указанные пакеты, и если я хотел их восстановить.Я нажал «Восстановить» и дождался завершения задачи.

    На этом этапе я смог успешно выполнить сборку, но при попытке развертывания на виртуальном устройстве Android мне было выдано сообщение об ошибке: «LinkAssembliesЗадача неожиданно завершилась неудачей. "

  3. Я установил последний доступный Android SDK (API 28, Android Pie) и изменил Target Framework тестового проекта, чтобы он соответствовал.

Благодаря этому я успешно запустил мое тестовое приложение NUnit на эмуляторе Android, но теперь меня беспокоит то, что если я перенесу какие-либо изменения в исходную точку, на следующей машине, которая попытается свернуть проект, возникнут те же проблемы, что и я.Я предполагаю, что это обновляет фокус моего первоначального вопроса: что я сделал не так, чтобы вызвать у себя эту проблему, и как я могу предотвратить его перенос на другие машины, которые должны тянуть проект?

...