Как я могу исправить недостающие ссылки nuget после перемещения проекта в Visual Studio 2015
У меня была такая структура проекта, как это:
WebApp
-- WebApp
-- WebApp.sln
WebApp.Tests
-- WebApp.Tests.csproj
Я переместил WebApp.Tests в WebApp, используя перемещение (простой щелчок и перетаскивание в папку WebApp). Я редактировал WebApp.sln, чтобы исправить ссылку на проект, чтобы он загружался.
Когда я создаю, Nuget жалуется на отсутствие пакетов и восстановление.
Я загрузил и использовал восстановление nuget.exe на своем решении, и он сообщил, что все было там.
На основании других ответов StackOverflow я пробовал следующее:
- Отредактируйте пути подсказки ссылки на тестовый проект. Я изменил с. \WebApp\packages\PACKAGE на..\packages\PACKAGE
- Обновить Visual Studio (несколько раз)
- Удалить содержимое папок пакетов и каталогов bin/obj проектов
- Используйте консоль менеджера пакетов для переустановки пакетов в тестовом проекте
Все это не удалось устранить проблему. Когда я использовал диспетчер пакетов, чтобы попытаться переустановить пакеты с помощью этой команды, это дало мне ту же ошибку, что и для создания проекта. Сначала я должен восстановить пакеты.
Есть ли какой-нибудь быстрый способ исправить мой проект? Я действительно не хочу проходить через каждый пакет и удалять/переустанавливать вручную. Кроме того, как я мог предотвратить эту проблему в первую очередь? Есть ли встроенный способ перемещения мест проекта?
Ответы
Ответ 1
В конце моего файла проекта был похож на XML:
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\WebApp\packages\SPECIFICPACKAGE')" Text="$([System.String]::Format('$(ErrorText)', '..\WebApp\packages\SPECIFICPACKAGE'))" />
</Target>
Изменив пакет.. \Webapp\packages на.. \, такие как остальная часть файла, мое решение теперь просто отлично.
Ответ 2
У меня была такая же проблема, когда я физически переместил папку проекта в папку src и получил ошибку недостающих пакетов. Мое решение состояло в том, чтобы открыть файл .csproj в блокноте и заменить каждый экземпляр
это:
..\пакеты\
с этим:
.. \..\пакеты\
Он решил проблему...