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.gitignoreengeller.

  • -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 gibi 1.2.3-nightlybir 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ında snupkg 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), quietveya detailed.

  • -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ış trueolan girdileri packages.configdevelopmentDependency 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 jQuerymicrosoft-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.