pack komutu (NuGet CLI)
Şunlar için geçerlidir: paket oluşturma • Desteklenen sürümler: 2.7+
Belirtilen .nuspec veya proje dosyasını temel alan bir NuGet paketi oluşturur. Komut dotnet pack
(bkz. dotnet Komutları) ve msbuild -t:pack
(bkz . MSBuild hedefleri) alternatif olarak kullanılabilir.
Önemli
PackageReference tabanlı projeler için veya msbuild -t:pack
kullanındotnet pack
. NuGet sürüm 6.5+ ile başlayarak, bu proje türlerini paketlemeye çalışırken paketle komutu hata alır. Önceki sürümler paketlemeye çalışır, ancak oluşturulan paket doğru olmayabilir.
Mono altında, proje dosyasından paket oluşturma desteklenmez. Ayrıca dosyadaki .nuspec
yerel olmayan yolları Unix stili yollara ayarlamanız gerekir çünkü nuget.exe Windows yol adlarının kendisini dönüştürmez.
Kullanım
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
<projectPath>
ve <nuspecPath>
sırasıyla veya proje dosyasını belirtin.nuspec
.
Seçenekler
-BasePath
.nuspec dosyasında tanımlanan dosyaların temel yolunu ayarlar.
-Build
Paketi oluşturmadan önce projenin derlenmesi gerektiğini belirtir.
-ConfigFile
Uygulanacak NuGet yapılandırma dosyası. Belirtilmezse (
%AppData%\NuGet\NuGet.Config
Windows) veya~/.nuget/NuGet/NuGet.Config
~/.config/NuGet/NuGet.Config
(Mac/Linux) kullanılır.-Exclude
Paket oluşturulurken dışlanması gereken bir veya daha fazla joker karakter desenini belirtir. Birden fazla desen belirtmek için -Exclude bayrağını yineleyin. Aşağıdaki örneğe bakın.
-ExcludeEmptyDirectories
Paketi oluştururken boş dizinlerin eklenmesini engeller.
-ForceEnglishOutput
(3,5+) nuget.exe sabit, İngilizce tabanlı bir kültür kullanarak çalışmaya zorlar.
-?|-help
Komutun yardım bilgilerini görüntüler.
-IncludeReferencedProjects
Derlenen paketin, bağımlılık olarak veya paketin bir parçası olarak başvuruda bulunılan projeleri içermesi gerektiğini gösterir. Başvuruda bulunılan bir proje, projeyle aynı ada sahip karşılık gelen
.nuspec
bir dosyaya sahipse, bu başvuruda bulunılan proje bağımlılık olarak eklenir. Aksi takdirde, başvuruda bulunan proje paketin bir parçası olarak eklenir.-InstallPackageToOutputPath
Komutun paket çıkış dizinini akış olarak paylaşımı destekleyecek şekilde hazırlaması gerekip gerekmediğini belirtin.
-MinClientVersion
Oluşturulan paket için minClientVersion özniteliğini ayarlayın. Bu değer, dosyadaki mevcut minClientVersion özniteliğinin (varsa)
.nuspec
değerini geçersiz kılar.-MSBuildPath
(4,0+) komutuyla kullanılacak MSBuild yolunu belirtir ve üzerinde
-MSBuildVersion
önceliklidir.-MSBuildVersion
(3.2+) Bu komutla kullanılacak MSBuild sürümünü belirtir. Desteklenen değerler 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9'dır. Varsayılan olarak yolunuzdaki MSBuild seçilir, aksi takdirde varsayılan olarak EN yüksek yüklü MSBuild sürümüne ayarlanır.
-NoDefaultExcludes
Ve gibi bir nokta ile başlayan NuGet paket dosyalarının ve dosyalarının ve klasörlerinin varsayılan dışlanmasını
.svn
.gitignore
engeller.-NonInteractive
Kullanıcı girişi veya onay istemlerini gizler.
-NoPackageAnalysis
Paketi derledikten sonra paket analizinin çalıştırılmaması gerektiğini belirtir.
-OutputDirectory
Oluşturulan paketin depolandığı klasörü belirtir. Hiçbir klasör belirtilmezse geçerli klasör kullanılır.
-OutputFileNamesWithoutVersion
Komutun sürüm olmadan paket çıkış adını hazırlaması gerekip gerekmediğini belirtin.
-PackagesDirectory
Packages klasörünü belirtir.
-p|-Properties
Diğer seçeneklerden sonra komut satırında en son görünmelidir. Proje dosyasındaki değerleri geçersiz kılan özelliklerin listesini belirtir; Özellik adları için bkz . Ortak MSBuild Proje Özellikleri . Buradaki Özellikler bağımsız değişkeni, dosyasındaki her örneğinin verilen değerle değiştirileceği noktalı virgülle ayrılmış belirteç=değer çiftlerinin
$token$
.nuspec
listesidir. Değerler, tırnak işaretleri içindeki dizeler olabilir. "Configuration" özelliği için varsayılan değerin "Debug" olduğunu unutmayın. Yayın yapılandırmasına geçmek için kullanın-Properties Configuration=Release
. Genel olarak, Özellikler, garip olabilecek davranışlardan kaçınmak için ilgili proje derlemesi sırasında kullanılanla aynı olmalıdır.-SolutionDirectory
Çözüm dizinini belirtir.
-Suffix
(3.4.4+) Genellikle derleme veya diğer yayın öncesi tanımlayıcıları eklemek için kullanılan dahili olarak oluşturulan sürüm numarasına bir sonek ekler. Örneğin, kullanmak
-suffix nightly
gibi1.2.3-nightly
bir sürüm numarasına sahip bir paket oluşturur. NuGet ve NuGet Paket Yöneticisi farklı sürümleriyle ilgili uyarıları, hataları ve olası uyumsuzlukları önlemek için soneklerin bir harfle başlaması gerekir.-SymbolPackageFormat
Sembol paketi oluştururken ve
symbols.nupkg
biçimi arasındasnupkg
seçim yapmaya izin verir.-Symbols
Paketin kaynaklar ve simgeler içerdiğini belirtir. Bir
.nuspec
dosyayla kullanıldığında, bu normal bir NuGet paket dosyası ve karşılık gelen semboller paketini oluşturur. Varsayılan olarak eski bir sembol paketi oluşturur. Sembol paketleri için önerilen yeni biçim .snupkg'dir. Bkz . Sembol paketleri oluşturma (.snupkg).-Tool
Projenin çıkış dosyalarının paket içindeki
tools
klasöre yerleştirilmesi gerektiğini belirtir.-Verbosity [normal|quiet|detailed]
Çıktıda görüntülenen ayrıntı miktarını belirtir:
normal
(varsayılan),quiet
veyadetailed
.-Version
Dosyadaki
.nuspec
sürüm numarasını geçersiz kılar.
Ayrıca bkz. Ortam değişkenleri
Geliştirme bağımlılıklarını dışlama
Bazı NuGet paketleri, kendi kitaplığınızı yazmanıza yardımcı olan ancak gerçek paket bağımlılıkları olarak gerekli olmayan geliştirme bağımlılıkları olarak kullanışlıdır.
komutu, pack
özniteliği olarak ayarlanmış true
olan girdileri packages.config
developmentDependency
yoksayarpackage
. Bu girdiler, oluşturulan pakete bağımlılık olarak dahil edilmeyecektir.
Örneğin, kaynak projede aşağıdaki packages.config
dosyayı göz önünde bulundurun:
<?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>
Bu proje için, tarafından nuget pack
oluşturulan paketin ve üzerinde jQuery
microsoft-web-helpers
bir bağımlılığı olur, ancak bağımlılığı olmaz netfx-Guard
.
Paket uyarılarını gizleme
Paket işlemleriniz sırasında tüm NuGet uyarılarını çözmeniz önerilir ancak bazı durumlarda bunları gizlemeniz gerekir.
Bunu aşağıdaki şekilde gerçekleştirebilirsiniz:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Örnekler
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"
Not
pack
SDK stili projelerin komutu desteklenmez, bunun yerine bu projeleri paketlemek için kullanın dotnet pack
veya msbuild -t:pack
kullanın.