Bagikan melalui


perintah paket (NuGet CLI)

Berlaku untuk: pembuatan paket • Versi yang didukung: 2.7+

Membuat paket NuGet berdasarkan file .nuspec atau proyek yang ditentukan. Perintah dotnet pack (lihat perintah dotnet) dan msbuild -t:pack (lihat target MSBuild) dapat digunakan sebagai alternatif.

Penting

Gunakan dotnet pack atau msbuild -t:pack untuk proyek berbasis PackageReference . Dimulai dengan NuGet versi 6.5+, perintah paket akan kesalahan saat mencoba mengemas jenis proyek ini. Versi sebelumnya akan mencoba untuk mengemas, tetapi paket yang dihasilkan mungkin tidak benar. Di bawah Mono, membuat paket dari file proyek tidak didukung. Anda juga perlu menyesuaikan jalur non-lokal dalam file ke .nuspec jalur gaya Unix, karena nuget.exe tidak mengonversi nama jalur Windows itu sendiri.

Penggunaan

nuget pack <nuspecPath | projectPath> [options] [-Properties ...]

di mana <nuspecPath> dan <projectPath> menentukan .nuspec file atau proyek, masing-masing.

Opsi

  • -BasePath

    Mengatur jalur dasar file yang ditentukan dalam file .nuspec .

  • -Build

    Menentukan bahwa proyek harus dibangun sebelum membangun paket.

  • -ConfigFile

    File konfigurasi NuGet yang akan diterapkan. Jika tidak ditentukan, %AppData%\NuGet\NuGet.Config (Windows), atau atau ~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config (Mac/Linux) digunakan.

  • -Exclude

    Menentukan satu atau beberapa pola kartubebas untuk dikecualikan saat membuat paket. Untuk menentukan lebih dari satu pola, ulangi bendera -Exclude. Contohnya di bawah.

  • -ExcludeEmptyDirectories

    Mencegah penyertaan direktori kosong saat membangun paket.

  • -ForceEnglishOutput

    (3.5+) Memaksa nuget.exe untuk berjalan menggunakan budaya berbasis bahasa Inggris yang invarian.

  • -?|-help

    Menampilkan informasi bantuan untuk perintah.

  • -IncludeReferencedProjects

    Menunjukkan bahwa paket bawaan harus menyertakan proyek yang dirujuk baik sebagai dependensi atau sebagai bagian dari paket. Jika proyek yang dirujuk memiliki file terkait yang memiliki nama yang sama dengan .nuspec proyek, proyek yang dirujuk tersebut ditambahkan sebagai dependensi. Jika tidak, proyek yang dirujuk ditambahkan sebagai bagian dari paket.

  • -InstallPackageToOutputPath

    Tentukan apakah perintah harus menyiapkan direktori output paket untuk mendukung berbagi sebagai umpan.

  • -MinClientVersion

    Atur atribut minClientVersion untuk paket yang dibuat. Nilai ini akan menggantikan nilai atribut minClientVersion yang ada (jika ada) dalam .nuspec file.

  • -MSBuildPath

    (4.0+) Menentukan jalur MSBuild untuk digunakan dengan perintah , lebih diutamakan daripada -MSBuildVersion.

  • -MSBuildVersion

    (3.2+) Menentukan versi MSBuild yang akan digunakan dengan perintah ini. Nilai yang didukung adalah 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Secara default MSBuild di jalur Anda dipilih, jika tidak, MSBuild default ke versi MSBuild tertinggi yang diinstal.

  • -NoDefaultExcludes

    Mencegah pengecualian default file paket NuGet dan file dan folder yang dimulai dengan titik, seperti .svn dan .gitignore.

  • -NonInteractive

    Menekan permintaan untuk input atau konfirmasi pengguna.

  • -NoPackageAnalysis

    Menentukan bahwa paket tidak boleh menjalankan analisis paket setelah membuat paket.

  • -OutputDirectory

    Menentukan folder tempat paket yang dibuat disimpan. Jika tidak ada folder yang ditentukan, folder saat ini akan digunakan.

  • -OutputFileNamesWithoutVersion

    Tentukan apakah perintah harus menyiapkan nama output paket tanpa versi .

  • -PackagesDirectory

    Menentukan folder paket.

  • -p|-Properties

    Akan muncul terakhir pada baris perintah setelah opsi lain. Menentukan daftar properti yang mengambil alih nilai dalam file proyek; lihat Properti Proyek MSBuild umum untuk nama properti. Argumen Properti di sini adalah daftar pasangan token=value, dipisahkan oleh titik koma, di mana setiap kemunculan $token$.nuspec dalam file akan diganti dengan nilai yang diberikan. Nilai dapat berupa string dalam tanda kutip. Perhatikan bahwa untuk properti "Konfigurasi", defaultnya adalah "Debug". Untuk mengubah ke konfigurasi Rilis, gunakan -Properties Configuration=Release. Secara umum, Properti harus sama dengan yang digunakan selama build proyek yang sesuai, untuk menghindari perilaku yang berpotensi aneh.

  • -SolutionDirectory

    Menentukan direktori solusi.

  • -Suffix

    (3.4.4+) Menambahkan akhiran ke nomor versi yang dihasilkan secara internal, biasanya digunakan untuk menambahkan build atau pengidentifikasi pra-rilis lainnya. Misalnya, menggunakan -suffix nightly akan membuat paket dengan nomor versi seperti 1.2.3-nightly. Akhiran harus dimulai dengan huruf untuk menghindari peringatan, kesalahan, dan potensi ketidakcocokan dengan versi NuGet dan Manajer Paket NuGet yang berbeda.

  • -SymbolPackageFormat

    Saat membuat paket simbol, memungkinkan untuk memilih antara snupkg format dan symbols.nupkg .

  • -Symbols

    Menentukan bahwa paket berisi sumber dan simbol. Ketika digunakan dengan .nuspec file, ini membuat file paket NuGet reguler dan paket simbol yang sesuai. Secara default membuat paket simbol warisan. Format baru yang direkomendasikan untuk paket simbol adalah .snupkg. Lihat Membuat paket simbol (.snupkg).

  • -Tool

    Menentukan bahwa file output proyek harus ditempatkan di folder dalam tools paket.

  • -Verbosity [normal|quiet|detailed]

    Menentukan jumlah detail yang ditampilkan dalam output: normal (default), quiet, atau detailed.

  • -Version

    Mengambil alih nomor versi dari .nuspec file.

Lihat juga Variabel lingkungan

Tidak termasuk dependensi pengembangan

Beberapa paket NuGet berguna sebagai dependensi pengembangan, yang membantu Anda menulis pustaka Anda sendiri, tetapi belum tentu diperlukan sebagai dependensi paket aktual.

Perintah pack akan mengabaikan package entri di packages.config yang memiliki atribut yang developmentDependency diatur ke true. Entri ini tidak akan disertakan sebagai dependensi dalam paket yang dibuat.

Misalnya, pertimbangkan file berikut packages.config dalam proyek sumber:

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="jQuery" version="1.5.2" />
    <package id="netfx-Guard" version="1.3.3.2" developmentDependency="true" />
    <package id="microsoft-web-helpers" version="1.15" />
</packages>

Untuk proyek ini, paket yang dibuat oleh nuget pack akan memiliki dependensi pada jQuery dan microsoft-web-helpers tetapi tidak netfx-Guard.

Menekan peringatan paket

Meskipun disarankan agar Anda menyelesaikan semua peringatan NuGet selama operasi paket Anda, dalam situasi tertentu menekannya dijaga.

Anda dapat mencapainya dengan cara berikut:

nuget.exe pack package.nuspec -Properties NoWarn=NU5104

Contoh

nuget pack

nuget pack foo.nuspec

nuget pack foo.csproj

nuget pack foo.csproj -Properties Configuration=Release

nuget pack foo.csproj -Build -Symbols -Properties owners=janedoe,xiaop;version="1.0.5"

# Create a package from project foo.csproj, using MSBuild version 12 to build the project
nuget pack foo.csproj -Build -Symbols -MSBuildVersion 12 -Properties owners=janedoe,xiaop;version="1.0.5"

# Create a package from project foo.nuspec and the corresponding symbol package using the new recommended format .snupkg
nuget pack foo.nuspec -Symbols -SymbolPackageFormat snupkg

nuget pack foo.nuspec -Version 2.1.0

nuget pack foo.nuspec -Version 1.0.0 -MinClientVersion 2.5

nuget pack Package.nuspec -exclude "*.exe" -exclude "*.bat"

Catatan

pack Perintah untuk proyek gaya SDK tidak didukung, gunakandotnet pack, atau msbuild -t:pack untuk mengemas proyek-proyek tersebut sebagai gantinya.