В установленном пакете nuget отсутствуют файлы - PullRequest
0 голосов
/ 16 октября 2019

Я использую в своем проекте nuget, который должен иметь пространство имен с именем ChartJs.Blazor.ChartJS.Common.Time в версии 0.10.4. По некоторым причинам, это говорит мне, что пространство имен не существует. Я на 100% уверен, что это так, вот почему:

  • Я опубликовал этот nuget и протестировал его.
  • При загрузке nuget с nuget.org и, осмотрев nupkg-файл, открыв его с помощью 7-zip, я могу найти dll, используемый для nuget, в папке lib. Если я скопирую эту dll вне nupkg и сошлюсь на нее напрямую (вместо nuget), все будет отлично работать, и код скомпилируется.
  • Я также посмотрел на dll (извлеченную выше) с помощью ILSpy и могподтвердите, что пространство имен и его файлы действительно существуют.

Нет абсолютно никаких признаков отсутствия этих файлов в любом месте.

Поскольку я провел некоторое ручное тестирование с тем же пакетомверсия, но содержимое пакета было на самом деле другое, я подозреваю, проблемы с кэшированием. Тем не менее, я уже попробовал несколько вещей, которые помогли мне ранее с подобной проблемой, но ни одна из них не сработала на этот раз:

  • Удалить соответствующую папку в %userprofile%\.nuget\packages
  • Удалить все *Папки 1023 * и obj.vs).
  • Удалите все временные файлы (используя встроенный инструмент Windows)

К вашему сведению, ничего интересного в %appdata%/NuGet.

Кто-нибудь знает, в чем может быть проблема и как ее можно решить? Текущий обходной путь заключается в прямом включении DLL, но это не очень хорошо.

Ps. Установленная версия NuGet 5.1.0.6013, но я обычно просто работаю с Visual Studio 2019, где интегрирован nuget.

РЕДАКТИРОВАТЬ:
Библиотека, которая используется через nuget, нацелена на netstandard2.0 (стандартная библиотека). Проект-потребитель нацелен на netcoreapp3.0 (ядро asp.net ss-blazor). Это само по себе не должно быть проблемой.

1 Ответ

0 голосов
/ 16 октября 2019

Это действительно была проблема с кешированием - просто печально, сколько времени можно потратить впустую на что-то такое простое. Несмотря на то, что я думал, что очистил весь кэш, я пропустил несколько папок (почему Nuget использует их так много?). Решением было очистить весь кэш, используя nuget locals all -clear, что также описано в этом ответе .

Очистите кэш, дети.

...