Пакеты NuGet не восстанавливаются в Visual Studio 2017

У меня есть решение Asp.netCore, которое отлично работало на Visual Studio 2015, а затем я перешел на Visual Studio 2017. Теперь проблема в том, что в Visual Studio 2017 на каждом пакете nuget стоит желтый восклицательный знак. Ниже приведены решения, которые я пробовал до сих пор.

Я использую Visual Studio Version: 15.3.1

  • Запустите от имени «Администратора» и восстановите пакет.
  • Clear All Nugget Cache(s) из Tools > options > NuGet Package Manager > и снова восстановить Nuget.

«Вы

Примечание. Я искал и нашел следующее решение и попытался, но не решил свою проблему.

Решение 1


person Usman lqbal    schedule 23.08.2017    source источник


Ответы (4)


Я нашел ответ в другой ветке здесь, и заслуга должна принадлежать @AxelWass, хотя он специально не сосредоточил внимание на этом, это абсолютно решает эту проблему. Вышеупомянутый ответ не сделал.


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

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
   <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>

Как только это будет удалено, это решит эту кошмарную проблему, которую VS2017 и PM, похоже, не могут решить. Я тоже сталкивался с этим несколько раз, особенно когда я смешиваю много проектов в одном каталоге решений.

person Dave Friedel    schedule 23.11.2017
comment
Кроме того, вам может потребоваться запустить от имени администратора. Но это работает! - person Shiroy; 11.07.2018
comment
Как странно, я работаю над этим часами и пробую много чего. Я рад, что нашел это решение - person Richard Mark Bonifacio; 10.06.2020

Как указано в Microsoft Установка и переустановка пакетов с помощью документации по восстановлению пакетов вам следует Update-Package -reinstall:

Update-Package -reinstall -ProjectName <project>, где — имя затронутого проекта, отображаемое в обозревателе решений. Используйте Update-Package -reinstall отдельно, чтобы восстановить все пакеты в решении.

Если у вас все еще есть ошибка, попробуйте отредактировать файл проекта, проверьте, есть ли там ошибка ссылки на путь, а также проверьте файл конфигурации nuget проекта/решения.

person Jack Martin    schedule 13.10.2017
comment
Это не сработало для меня, и я снова получил ту же ошибку. - person Zeeshan Ajmal; 13.09.2020

По умолчанию новая установка Visual Studio не настраивала источник пакета для поиска пакетов в Интернете. Это вызвало проблему.

Я нашел ответ с немного большей работой по ссылке stackoverflow: https://stackoverflow.com/a/32360953/1503372.

В этом ответе упоминается использование "https://www.nuget.org/api/v2" URL для восстановления пакетов. Когда я открыл консоль диспетчера пакетов в Visual Studio 2017, я обнаружил, что она ищет пакеты только с моего ПК (офлайн-поиск).

Затем я добавил URL-адрес «https://www.nuget.org/api/v2» как источник для восстановления пакетов, и это сработало.

Выполните следующие шаги, чтобы добавить источник пакета.

  1. Щелкните правой кнопкой мыши проект > Управление пакетом nuget, и вы увидите "метку источника пакета".

  2. Добавить выделенный URL-адрес в источник пакета.

  3. Выберите "Все" в качестве источника пакета.

После того, как вы настроили визуальную студию для поиска пакетов в Интернете, все ваши пакеты будут восстановлены.

person Jackson    schedule 03.02.2019
comment
Наконец-то решение, которое сработало для меня! В новой установке VS2019. - person Fede Lerner; 22.03.2021

Я обнаружил неправильную конфигурацию в файле nuget.config. Я не знаю, почему в этом файле есть некоторые исключения для моего текущего проекта.

Вы можете увидеть свою глобальную конфигурацию, выполняющую эту команду, в File Explorer

%AppData%\NuGet\NuGet.Config

person Enrico    schedule 30.08.2018