Nuget не может найти версию пакета

Запуск этой команды

nuget.exe restore .\MySolution.sln

дает эту ошибку:

Unable to find version '1.0.0' of package 'Microsoft.Net.Compilers'.

где пакет ранее был установлен и восстановлен, но каким-то образом стал поврежденным.

Ответы

Ответ 1

Выключает просто обновление версии Nuget с помощью

nuget.exe update -self

для обновления с 2.8.0 до 3.4.4 было достаточно, и пакет теперь восстанавливается правильно.

Ответ 2

У меня была такая же проблема, но мне нужно остаться с nuget.exe 2.8 из-за того, что не удалось обновить версию .NET Framework, установленную на нашем сервере сборки (2.8 - последняя версия, которая по-прежнему работает с .NET 4.0).

Причиной оказалось, что nuget.config указывает только на API v3. Решение заключается в добавлении в API v2. например.

<configuration>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="nuget v2" value="https://www.nuget.org/api/v2" />
  </packageSources>
</configuration>

Ответ 3

В нашем случае мы обновили расширение Nuget в VS от 3.3.x до 3.4.4.

Вы можете найти обновление в меню "Сервис" → "Расширения и обновления" → "Обновления" → Галерея Visual Studio.