Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Ниже показаны примеры командной строки с помощью Unix. Команда dotnet pack , как показано здесь, работает так же в Windows.
Как ожидается, библиотеки .NET Standard и .NET Core будут распространяться в виде пакетов NuGet. На самом деле все библиотеки .NET Standard распространяются и используются. Проще всего это сделать с помощью команды dotnet pack.
Представьте, что вы только что написали удивительную новую библиотеку, которую вы хотите распространить по NuGet. Вы можете создать пакет NuGet с кроссплатформенными инструментами, чтобы сделать именно это! В следующем примере предполагается, что библиотека SuperAwesomeLibrary предназначена для netstandard1.0.
Если у вас есть транзитивные зависимости, то есть проект, который зависит от другого пакета, обязательно восстановите пакеты для всего решения с dotnet restore помощью команды перед созданием пакета NuGet. Если не сделать это, команда dotnet pack не будет работать должным образом.
Вам не нужно выполнять команду dotnet restore, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish и dotnet pack. Чтобы отключить неявное восстановление, используйте параметр --no-restore.
Команду dotnet restore по-прежнему удобно использовать в некоторых сценариях, где необходимо явное восстановление, например в сборках с использованием непрерывной интеграции в Azure DevOps Services или системах сборки, где требуется явно контролировать время восстановления.
В документации по dotnet restore приведены сведения об управлении каналами NuGet.
После восстановления пакетов можно перейти к каталогу, в котором находится библиотека:
cd src/SuperAwesomeLibrary
Затем это только одна команда из командной строки:
dotnet pack
Теперь папка /bin/Debug будет выглядеть следующим образом:
$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
При этом создается пакет, способный выполнять отладку. Если вы хотите создать пакет NuGet с финальными двоичными файлами, необходимо добавить переключатель --configuration (или -c) и использовать release как аргумент.
dotnet pack --configuration release
Теперь в папке /bin появится папка релиз, содержащая ваш пакет NuGet с релизными двоичными файлами:
$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
Теперь у вас есть необходимые файлы для публикации пакета NuGet!
Не путайте dotnet pack с dotnet publish
Важно отметить, что команда dotnet publish ни в каком случае не участвует. Эта dotnet publish команда предназначена для развертывания приложений со всеми их зависимостями в одном пакете, а не для создания пакета NuGet для распространения и использования с помощью NuGet.