Отсутствующие ссылки Visual Studio/NuGet
У меня были некоторые проблемы с моими ссылками на решения, поскольку кто-то пошел и перепутал NuGet... Восстановление из исходного управления показало, что проекты не загружаются, и мне пришлось немного поиграть, чтобы, наконец, загрузить вещи. Когда я, наконец, смог правильно загружать мои проекты (после одной черновой головной боли), у меня был довольно большой экспериментальный беспорядок для очистки, и теперь ничего не строится.
Nuget считает, что мои зависимости установлены. Visual Studio не согласна.
![enter image description here]()
Что мне нужно сделать, чтобы NuGet и Visual Studio соглашались друг с другом?
Ответы
Ответ 1
Это не просто, но попробуйте выполнить следующие шаги:
- В консоли диспетчера пакетов восстановите свои пакеты nuget
- Откройте csproj в блокноте и проверьте правильность путей. Если не исправить их.
- Если вышеприведенные шаги не будут работать в консоли диспетчера пакетов, переустановите все ваши пакеты.
- Если проект открыт, выгрузите его, а затем перезагрузите. Это заставляет Visual Studio повторно разрешать ссылки.
Пояснение:
Когда nuget добавляет ссылку, добавьте его в csproj, как показано ниже:
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.4.5.9\lib\net40\Newtonsoft.Json.dll</HintPath>
</Reference>
Это означает, что номер пакета находится в HintPath. После объединения двух ветвей число версий nuget, вероятно, изменилось. Это приводит к тому, что HintPath также следует изменить на правильный путь с версией. Вот почему Visual Studio имеет проблемы с их поиском.
Ответ 2
(VisualStudio 2017). Ни одно из предложений здесь не работало... - пока я полностью не закрыл VisualStudio и не перезапустил его. Это заняло пару секунд дольше, чем обычно, но после этого все зависимости были восстановлены!
Ответ 3
В Visual Studio 2017 для проекта Asp.Net Core этого было достаточно, чтобы выгрузить, а затем перезагрузить файл .csproj
Ответ 4
В папке Solution Visual Studio откройте папку "packages" и удалите все, что находится внутри этой папки.
Затем восстановите пакеты nuget.