MSBuild NuGet.targets, Nuget.exe: невозможно прочитать пакет из ошибки "blah.nupkg" пути
Я получаю эти ошибки при запуске шага сборки MSBuild, который создает веб-проект в TeamCity, и я установил мой файл Nuget target PackageSource, чтобы указать на локальный сервер Nuget
например PackageSource Include = "http://mylocaldevurl/nuget/Packages".
Строка запускает и создает ошибки формы
например Exec] F:\TeamCity\buildAgent\work\blahblah.nuget\NuGet.targets(87, 9): Невозможно прочитать пакет из пути "Lucene.Net.3.0.3.nupkg".
Что странно, другие пакеты загружаются в рабочую папку TeamCity отлично - папка пакета .
Локальный Nuget Server содержит копии моих пакетов решений VS (те, которые находятся в папке пакетов по умолчанию) только с файлами .nupkg.
В моем вопросе есть что-то, что мне нужно сделать при копировании файлов .nupkg на этот сервер. Возможно, что-то не хватает.
Я уже дважды проверял, что пакеты существуют на локальном сервере
Ответы
Ответ 1
У меня была такая же проблема с использованием TFS. То, что я сделал, зафиксировало, было ясно, что кэш nuget в профиле пользователя, который выполнял сборку (% LocalAppData%\NuGet\Cache). Я просто опустошил каталог и снова запустил сборку, затем он сработал.
Ответ 2
Если ваш TeamCity работает под учетной записью System user, вы можете попробовать очистить кэш Nuget, который находится в одной из этих папок:
- C:\Windows\System32\Config\systemprofile\AppData\Local
- C:\Windows\SysWOW64\Config\systemprofile\AppData\Local
Ответ 3
В моем случае учетная запись службы, используемая для запуска агента сборки, имела ограниченный доступ к Интернету через наш прокси-сервер WebSense.
Сообщение об ошибке, которое я получал в журнале сборки:
Невозможно прочитать пакет из пути "EntityFramework.5.0.0.nupkg".
Я перешел в папку кэша для пользователя агента сборки (C:\Users\{BuildAgentUser}\AppData\Local\NuGet\Cache) и нашел там файл .nupkg, который вызывал ошибку.
Я мог видеть, что что-то не так, поскольку файл был всего 3 КБ, когда на моей машине было более 1 МБ.
Глядя на содержимое файла .nupkg, выяснилось, что загрузка была заблокирована WebSense, и на самом деле она содержала сообщение об ошибке, которое было бы отображено, если бы оно просматривалось в веб-браузере.
Ответ 4
Мы делаем это, обновляя файл конфигурации NuGet для пользователя, с которым работает BuildAgent, вместо установки источника пакета, и он отлично работал с NuGet v1.6.
Файл: c\Users\svc_teamcity\AppData\Roaming\NuGet\NuGet.config
Похож:
<activePackageSource>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="MyNuGetGallery" value="D:\NuGet.Packages" />
</activePackageSource>
Ответ 5
У меня была та же проблема, но на mac. Я только что удалял один пакет nuget, который вызывал проблему. Он был расположен по адресу:
/Users/yourusername/.local/share/NuGet/Cache
Ответ 6
Я знаю, что это старый вопрос, я столкнулся с этой проблемой недавно, и ни одно из вышеперечисленных решений не решило мою проблему. И причина для ошибки была одна из пакетов была повреждена, а размер файла .nupkg был 0 kb. То, что я сделал, это предыдущие шаги, и это решило мою проблему, и я смог переустановить пакеты.
- Перейдите в каталог проекта
- Откройте пакеты папок
- Найдите пакет, по которому вы получаете ошибку (blah.nupkg)
- Удалить папку
- Создайте проект, и ваш проект будет успешно выполнен.