Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Эта статья относится к: ✔️ пакету SDK для .NET 6 и более поздних версий
Имя
dotnet nuget push — отправляет пакет на сервер и публикует его.
Краткие сведения
dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
[--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
[--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
[-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
[-t|--timeout <TIMEOUT>]
[--configfile <FILE>]
dotnet nuget push -h|--help
Описание
Команда dotnet nuget push отправляет пакет на сервер и публикует его. Команда push использует сведения о сервере и учетных данных, найденные в файле конфигурации NuGet системы или цепочке файлов конфигурации. Дополнительные сведения о файлах конфигурации см. в разделе "Настройка поведения NuGet". Конфигурация NuGet по умолчанию получается путем загрузки %AppData%\NuGet\NuGet.config (Windows) или $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), а затем загружает любые nuget.config или nuget\nuget.config начиная с корневого диска и заканчивая текущим каталогом.
Команда отправляет существующий пакет. Он не создает пакет. Чтобы создать пакет, используйте dotnet pack.
Иерархическая структура папок
Эта команда может хранить пакеты в иерархической структуре папок, которая рекомендуется оптимизировать производительность. Он сохраняет пакеты в иерархической структуре папок при публикации в локальную папку (веб-канал), например nuget add , если в веб-канале уже есть хотя бы один пакет, который находится в иерархической структуре папок. Если в веб-канале уже есть структурированный пакет иерархической папки, dotnet nuget push учитывается эта структура. Поэтому, если вы хотите опубликовать в локальном веб-канале с помощью интерфейса командной строки .NET, а не интерфейса командной строки NuGet:
- Перед публикацией первого пакета перейдите в папку глобальных пакетов в %userprofile%.nuget\packages и выберите корневую папку идентификатора пакета. Это может быть любой пакет, который не является частью платформы, например .NET standard или ASP.NET.
- Скопируйте выбранную папку пакета в корневую папку локального веб-канала.
- Используется
dotnet nuget pushдля публикации пакета в локальном веб-канале. - Теперь вы можете удалить папку, скопированную ранее, и вы можете свободно использовать
dotnet nuget pushдля публикации в локальном веб-канале.
Кроме того, используйте интерфейс командной строки NuGet для первого пакета, а затем можно использовать dotnet nuget push для остальных. Дополнительные сведения см. в разделе "Локальные каналы".
Аргументы
ROOTУказывает путь к файлу для отправки пакета.
Опции
--allow-insecure-connectionsПозволяет отправлять в источники HTTP (небезопасные).
-d|--disable-bufferingОтключает буферизацию при отправке на сервер HTTP(S) для уменьшения использования памяти.
--force-english-outputПринудительно запускает приложение с помощью инвариантного языка и региональных параметров на английском языке.
-
-?|-h|--helpВыводит описание использования команды.
-
--interactiveПозволяет команде остановиться и дождаться, пока пользователь выполнит действие или введет данные. Например, чтобы завершить проверку подлинности.
-k|--api-key <API_KEY>Ключ API для сервера.
-n|--no-symbolsНе отправляет символы (даже если они присутствуют).
--no-service-endpointНе добавляет api/v2/package к исходному URL-адресу.
-s|--source <SOURCE>Указывает URL-адрес сервера. NuGet определяет источник UNC или локальной папки и просто копирует файл там, а не отправляет его с помощью HTTP.
Это важно
Начиная с NuGet 3.4.2, это обязательный параметр, если файл конфигурации NuGet не указывает
DefaultPushSourceзначение. Дополнительные сведения см. в статье Configuring NuGet behavior (Настройка поведения NuGet).--skip-duplicateПри отправке нескольких пакетов на сервер HTTP(S) обрабатывает любой ответ конфликта 409 как предупреждение, чтобы другие push-сообщения могли продолжаться.
-sk|--symbol-api-key <API_KEY>Ключ API для сервера символов.
-ss|--symbol-source <SOURCE>Указывает URL-адрес сервера символов.
-t|--timeout <TIMEOUT>Указывает время ожидания отправки на сервер в секундах. По умолчанию используется значение 300 секунд (5 минут). При указании 0 применяется значение по умолчанию.
--configfileФайл конфигурации NuGet (nuget.config), который будет использоваться. Если этот параметр указан, будут использоваться только параметры из этого файла. Если не указано, будет использоваться иерархия файлов конфигурации из текущего каталога. Дополнительные сведения см. в статье Распространенные конфигурации NuGet.
Примеры
Отправьте foo.nupkg в источник push-отправки по умолчанию, указанный в файле конфигурации NuGet, с помощью ключа API:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3aОтправьте foo.nupkg на официальный сервер NuGet, указав ключ API:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.jsonОтправьте foo.nupkg в пользовательский источник
https://customsourcepush-уведомлений, указав ключ API:dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/Отправьте foo.nupkg в источник push-уведомлений по умолчанию, указанный в файле конфигурации NuGet:
dotnet nuget push foo.nupkgОтправьте foo.symbols.nupkg в источник символов по умолчанию:
dotnet nuget push foo.symbols.nupkgОтправьте foo.nupkg в источник push-уведомлений по умолчанию, указанный в файле конфигурации NuGet, с 360-секундным тайм-аутом:
dotnet nuget push foo.nupkg --timeout 360Отправьте все Nupkg-файлы в текущем каталоге в источник push-отправки по умолчанию, указанный в файле конфигурации NuGet:
dotnet nuget push "*.nupkg"Отправьте все Nupkg-файлы в источник push-уведомлений по умолчанию, указанный в файле конфигурации NuGet, даже если ответ на конфликт 409 возвращается сервером HTTP(S):
dotnet nuget push "*.nupkg" --skip-duplicateОтправьте все Nupkg-файлы в текущем каталоге в локальный каталог веб-канала:
dotnet nuget push "*.nupkg" -s c:\mydirДополнительные сведения о отправке в azure Artifacts см. в документации по отправке артефактов Azure.