Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768

Создать NuGet-пакет локально

28.07.2025, 13:23. Показов 2659. Ответов 27

Студворк — интернет-сервис помощи студентам
Есть сторонние nuget-пакеты, полученные из разных источников:
1. Копирую в локальный каталог.
2. Добавляю каталог как источник в VS (или в нугет-конфиге напрямую).
3. Ок, пакеты из этого каталога становятся доступны и в VS, и при сборке проекта через 'dotnet'.

Согласно этой инструкции создаю nuget-пакет (либо через командную строку, либо через автосоздание пакета при сборке, разницы никакой). Получаю на выходе явно что-то не то. Копирую в каталог локального репозитория, Студия и 'dotnet' этот пакет в репозитории разумеется не видят.

Вопрос - какой командой локально собрать полноценный nuget-пакет?

У меня из каких-то старых проектов остались собранные нугет-пакеты, у них структура файлов следующая (для каждой версии):
Code
1
2
3
4
5
\libname\1.1.0
    .nupkg.metadata
    libname.nuspec
    libname.1.1.0.nupkg
    libname.1.1.0.nupkg.sha512
Причём, я там никакие консольные команды не использовал, просто в параметрах проекта установлена опция . И оно корректно собирало.

А по инструкции выше получается:
Code
1
2
\libname\1.1.0
    libname.1.1.0.nupkg
И нынешняя версия Студии по опции "собирать пакет при сборке проекта" теперь тоже генерит неполноценный пакет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.07.2025, 13:23
Ответы с готовыми решениями:

Не могу установить/удалить пакет NuGet: Элемент с тем же ключом был установлен
Пытаюсь установить ЛЮБОЙ пакет из NuGet, в Обозревателе решений видно, что идет установка:...

Переподключить пакет nuget
Привет! Использую Visual Studio. Через Управление пакетами NuGet... скачал и установил нужный...

Пакет NuGet и компиляция проекта
Здравствуйте!!!! Есть проект, к нему добавлены NuGet пакеты:ClosedXML, ExcelDataReader. Запускают...

27
HF
 Аватар для HF
1321 / 901 / 200
Регистрация: 09.09.2011
Сообщений: 2,713
Записей в блоге: 2
29.07.2025, 11:06
Студворк — интернет-сервис помощи студентам
Хорошая тема про проблему установки пакетов:
Cant download packages from NuGet on Visual Studio 2022
Много интересных вариантов и команд для проверки пакета. Может что-то из этого поможет.
Начать с команды: nuget verify ...
1
2404 / 1934 / 763
Регистрация: 27.07.2012
Сообщений: 5,573
29.07.2025, 11:06
kotelok, м.б. поковырять конфиг . . . /AppData/Roaming/NuGet/NuGet.config? Хотя врядли это поможет.
1
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
29.07.2025, 11:59  [ТС]
Цитата Сообщение от HF Посмотреть сообщение
Много интересных вариантов и команд для проверки пакета
Именно с пакетом всё ок, т.к. повторяется в т.ч. на любых пакетах (популярных библиотек), скачанных напрямую с сайта нугета (ну или просто взятых из локального кэша для теста). И на трёх компьютерах полностью идентичное поведение - одиночный файл пакета не виден.
0
2404 / 1934 / 763
Регистрация: 27.07.2012
Сообщений: 5,573
29.07.2025, 12:21
kotelok, а если подключать пакет из консоли менеджера? Install-Package MyPackage -Version 1.1.0
1
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
29.07.2025, 12:29  [ТС]
А, ну всё .

NuGet у меня последней версии (6.14.0.116).

Все локальные репозитории (оффлайновый кэш профиле, репозитории проприетарных компонентов) имеют иерархическую структуру, описанную тут. И пакеты из этих локальных репозиториев видны/доступны, даже если все прочие источники отключить.

Но свои пакеты, почему-то, надо складывать прямо в корень каталога без какой-либо иерархии по ID-пакета/версии. И тогда всё ок, и Студия их видит, и при сборке nuget их находит.
1
HF
 Аватар для HF
1321 / 901 / 200
Регистрация: 09.09.2011
Сообщений: 2,713
Записей в блоге: 2
29.07.2025, 13:24
Цитата Сообщение от kotelok Посмотреть сообщение
А, ну всё
А всё-таки покажи локальный nuget.config.

Насчёт "всё в один каталог". Собственно у меня так и работало и в начале я об этом и говорил, просто не конкретизировал (но если бы нужно было по подкаталогам раскидывать, я бы уточнил).
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
29.07.2025, 13:41  [ТС]
Цитата Сообщение от HF Посмотреть сообщение
если бы нужно было по подкаталогам раскидывать
Ну я просто посмотрел все репозитории на локальной машине, посмотрел документацию, и сделал свой локальный репозиторий по подобию. Про "всё в один каталог" - я про такое даже и не слышал раньше (пока сноску в статье не прочитал).

И, похоже, вся суть, что:
1. Если используется иерархическая структура репозитория в каталоге на диске, то обязательно надо предоставить дополнительные файлы, сгенерированные 'nuget.exe'.
2. Если же пакеты прямо в корень складываются, то достаточно только самого пакета.

Цитата Сообщение от HF Посмотреть сообщение
локальный nuget.config.
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86) .." />
    <add key="FastReport 2021-03" value="C:\Program Files .." />
    <add key="DevExpress" value="C:\Program Files .." />
    <add key="Internal" value="\\<server>\<repo>" />
  </packageSources>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <bindingRedirects>
    <add key="skip" value="False" />
  </bindingRedirects>
  <packageManagement>
    <add key="format" value="0" />
    <add key="disabled" value="False" />
  </packageManagement>
  <disabledPackageSources>
    <add key="FastReport 2021-03" value="true" />
  </disabledPackageSources>
</configuration>


Но их много ведь. Ну т.е. есть ещё конфиги, подгружаемые из 'C:\Program Files (x86)\NuGet\Config\'.
Могут быть локальные конфиги из конкретного проекта/решения.
Отображаются в настройка Студии в узле 'NuGet Package Manager -> Configuration Files'.

Плюс, сам NuGet ещё через какую-то настройку кэширует всё в профиль пользователя в подкаталог '.nuget\packages'.
0
HF
 Аватар для HF
1321 / 901 / 200
Регистрация: 09.09.2011
Сообщений: 2,713
Записей в блоге: 2
29.07.2025, 15:15
Цитата Сообщение от kotelok Посмотреть сообщение
локальный nuget.config.
Проверил во всех вариантах: перенёс все опции из конфига, добавлял задизабленные, кидал на диск, кидал в сеть и везде всё отображается нормально. Даже создавал подкаталоги с версиями, в локальной и сетевой. И тоже всё работало!
Видимо это уже что-то из локального окружения, гадать над которым бесполезно, а вы его потом сами найдёте или "само починится".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2025, 15:15
Помогаю со студенческими работами здесь

Не удается установить пакет Nuget
Привет! Для работы мне не обходимы следующие библиотеки: OtpSharp; Albireo.Base32; -- ...

Обновляю пакет Nuget - выскакивает под сотню ошибок в почти пустом коде
Доброго времени суток, форумчане. Пытаюсь проверить подключение к СУБД Oracle при создании...

NuGet пакет для вычисления размера папки
Нужен NuGet пакет для вычисления размера папки по пути. Я конечно и сам могу несколько строчек кода...

Какой NuGet пакет можете порекомендовать для стилизации приложения под ювелирку?
Что думаете можно скачать из нугет для стилизации приложения под ювелирку(там металлы, камни в виде...

Добавила пакет NuGet EntityFrameworck, вылезла ошибка
Следующая ошибка вылезла: Данный проект ссылается на пакеты NuGet, отсутствующие на этом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru