2013-10-26 5 views
6

я правой кнопкой мыши на моем файле решения в моей VS2010 и нажал Enable NuGet Package Restore, и я получил сообщение об ошибке, говорящее Unable to read package from path 'NuGet.CommandLine.2.7.1.nupkg'.Странная NuGet ошибка при позволяя NuGet пакет восстановить

Я гугле вокруг и не вижу ничего близко.

Любой ключ?

ответ

12

Сообщение об ошибке обычно связано с тем, что NuGet не может открыть пакет NuGet, поскольку он не смог его загрузить. Я бы проверил ваш кеш NuGet, чтобы увидеть, равен ли файл NuGet.CommandLine.2.7.1.nupkg нулевой байт или меньше ожидаемого. Если это так, удалите файл или очистите кеш и повторите попытку. Иногда загрузка может завершиться сбоем и NuGet leaves an empty file in the cache, что вызывает проблемы при установке этого пакета NuGet. Вы также можете увидеть ошибку, если пакет NuGet не полностью загрузился, поэтому пакет не будет равен нулю, но он не будет полностью загружен, и NuGet не сможет его открыть. Поэтому стоит удалить пакет NuGet из кеша и повторить попытку.

Кэш NuGet находится в следующем каталоге:

%localappdata%\NuGet\Cache 

Вы также можете просмотреть в кэш NuGet внутри Visual Studio, открыв настройки Package Manager, выбрав Общие и нажмите кнопку Обзор.

Обратите внимание, что с новыми версиями NuGet 2.8 эта проблема должна быть исправлена. NuGet в более поздних версиях будет загружаться во временное местоположение файла и переименован после завершения загрузки, поэтому частично загруженный пакет NuGet не останется в кеше.

+0

Я только что проверил, что NuGet.CommandLine.2.7.1.nupkg имеет размер 416 КБ. – hardywang

+1

NuGet.CommandLine.2.7.1.nupkg - 446 КБ. Я подозреваю, что пакет не загружался должным образом. Я удалю его и повторю попытку. Чтобы протестировать пакет, вы можете изменить расширение файла на .zip и посмотреть, можете ли вы его открыть. –

+0

Спасибо, удалите и повторите попытку, работая для меня. – hardywang

Смежные вопросы