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

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

28.07.2025, 13:23. Показов 2716. Ответов 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
1337 / 919 / 202
Регистрация: 09.09.2011
Сообщений: 2,739
Записей в блоге: 2
29.07.2025, 11:06
Студворк — интернет-сервис помощи студентам
Хорошая тема про проблему установки пакетов:
Cant download packages from NuGet on Visual Studio 2022
Много интересных вариантов и команд для проверки пакета. Может что-то из этого поможет.
Начать с команды: nuget verify ...
1
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
29.07.2025, 11:06
kotelok, м.б. поковырять конфиг . . . /AppData/Roaming/NuGet/NuGet.config? Хотя врядли это поможет.
1
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
29.07.2025, 11:59  [ТС]
Цитата Сообщение от HF Посмотреть сообщение
Много интересных вариантов и команд для проверки пакета
Именно с пакетом всё ок, т.к. повторяется в т.ч. на любых пакетах (популярных библиотек), скачанных напрямую с сайта нугета (ну или просто взятых из локального кэша для теста). И на трёх компьютерах полностью идентичное поведение - одиночный файл пакета не виден.
0
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
29.07.2025, 12:21
kotelok, а если подключать пакет из консоли менеджера? Install-Package MyPackage -Version 1.1.0
1
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
29.07.2025, 12:29  [ТС]
А, ну всё .

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

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

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

Насчёт "всё в один каталог". Собственно у меня так и работало и в начале я об этом и говорил, просто не конкретизировал (но если бы нужно было по подкаталогам раскидывать, я бы уточнил).
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
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
1337 / 919 / 202
Регистрация: 09.09.2011
Сообщений: 2,739
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru