Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Bez ohledu na to, co váš balíček dělá nebo jaký kód obsahuje, použijete některý z nástrojů rozhraní příkazového řádku (CLI), buď nuget.exe nebo dotnet.exe, k zabalení této funkce do komponenty, kterou mohou sdílet a používat ostatní vývojáři. Pokud chcete nainstalovat nástroje rozhraní příkazového řádku NuGet, přečtěte si téma Instalace klientských nástrojů NuGet. Visual Studio nástroj rozhraní příkazového řádku automaticky neobsahuje.
V případě projektů, které nejsou ve stylu sady SDK, obvykle .NET Framework, vytvořte balíček podle kroků popsaných v tomto článku. Rychlý start, který obsahuje podrobné pokyny k používání Visual Studio a rozhraní příkazového řádku
nuget.exe, najdete v tématu Quickstart: Vytvoření a publikování balíčku pomocí Visual Studio (.NET Framework, Windows).Informace o .NET projektech Core a .NET Standard, které používají formát SDK a všechny ostatní projekty ve stylu sady SDK, najdete v tématu Vytvoření balíčku NuGet pomocí rozhraní příkazového řádku dotnet.
Pro projekty migrované z
packages.configdoPackageReferencepoužijtemsbuild -t:packpříkaz.
Technicky vzato je balíček NuGet soubor ZIP, který byl přejmenován tak, aby měl příponu .nupkg a jehož obsah odpovídá určitým konvencím. Tento článek popisuje podrobný proces vytvoření balíčku, který splňuje tyto konvence.
Balení začíná zkompilovaným kódem (sestaveními), symboly a dalšími soubory, které chcete doručit jako balíček. Přehled procesu balení najdete v tématu Pracovní postup vytvoření balíčku. Tento proces je nezávislý na kompilaci nebo jiném generování souborů, které do balíčku přecházejí. Můžete ale kreslit z informací v souboru projektu, aby se kompilovaná sestavení a balíčky synchronizovaly.
Důležité
Tento článek se vztahuje na projekty jiné než sady SDK, obvykle jiné než projekty .NET Core a .NET Standard, které používají Visual Studio 2017 a novějších verzích a NuGet 4.0+.
Rozhodněte, která sestavení zabalit
Většina balíčků pro obecné účely obsahuje jedno nebo více sestavení, která můžou používat jiní vývojáři ve svých vlastních projektech.
Obecně je nejlepší mít jedno sestavení na balíček NuGet za předpokladu, že každé sestavení je nezávisle užitečné. Představte si například následující případy, které zahrnují sestavení s názvem Utilities.dll , které závisí na sestavení s názvem Parser.dll:
Pokud je Parser.dll užitečný samostatně, vytvořte jeden balíček pro Utilities.dll a druhý pro Parser.dll. To umožňuje vývojářům používat Parser.dll nezávisle na Utilities.dll.
Pokud Parser.dll obsahuje kód, který používá jenom Utilities.dll, je v pořádku zachovat Parser.dll ve stejném balíčku. Obecně platí, že pokud se vaše knihovna skládá z více sestavení, která nejsou nezávisle užitečná, je vhodné je zkombinovat do jednoho balíčku.
Pokud Utilities.dll také závisí na Utilities.resources.dlla Utilities.resources.dll není užitečné na vlastní straně, vložte oba do stejného balíčku.
Prostředky, jako je Utilities.resources.dll sestavení v předchozím příkladu, jsou zvláštním případem. Když je balíček nainstalován do projektu, NuGet automaticky přidá odkazy na sestavení do knihoven DLL balíčku, s výjimkou těch, které jsou pojmenovány .resources.dll, protože se předpokládají, že jsou lokalizované satelitní sestavení. Další informace o lokalizovaných verzích knihovny naleznete v Vytváření lokalizovaných balíčků NuGet. Z tohoto důvodu nepoužívejte .resources.dll pro soubory, které obsahují základní kód balíčku.
Pokud vaše knihovna obsahuje sestavení zprostředkovatele komunikace modelu COM (Component Object Model), postupujte podle dalších pokynů v tématu Vytváření balíčků NuGet, které obsahují sestavení zprostředkovatele komunikace modelu COM.
Role a struktura souboru .nuspec
Pokud víte, jaké soubory chcete zabalit, dalším krokem je vytvoření manifestu balíčku v souboru XML .nuspec .
Manifest:
- Popisuje obsah balíčku a je součástí balíčku.
- Řídí vytvoření balíčku a řekne NuGetu, jak balíček nainstalovat do projektu. Manifest například identifikuje další závislosti balíčku, aby NuGet mohl tyto závislosti nainstalovat také při instalaci hlavního balíčku.
- Obsahuje požadované i volitelné vlastnosti, jak je popsáno v další části této sekce. Podrobné informace, včetně dalších vlastností, které zde nejsou uvedeny, naleznete v tématu .nuspec reference.
V manifestu jsou vyžadovány následující vlastnosti:
- Identifikátor balíčku, který musí být jedinečný v galerii, která je hostitelem balíčku
- Konkrétní číslo verze ve formátu Major.Minor.Patch[-Suffix], kde -Suffix identifikuje předběžné verze
- Název balíčku, který by se měl zobrazovat na hostiteli (například nuget.org)
- Informace o autorovi
- Dlouhý popis balíčku
Mezi běžné volitelné vlastnosti patří následující vlastnosti:
- Poznámky k vydání.
- Informace o autorských právech.
- Stručný popis uživatelského rozhraní Package Manager v Visual Studio.
- ID místního nastavení.
- Adresa URL projektu.
- Licence jako výraz nebo soubor. Vlastnost
licenseUrlje zastaralá. Místo toho použijte metadatový prvek nuspeclicense. - Soubor read-me.
- Soubor ikony. Vlastnost
iconUrlje zastaralá. Místo toho použijte metadatový prvek nuspecicon. - Seznamy závislostí a odkazů
- Značky, které pomáhají při hledání v galerii
Následující kód je typický (ale fiktivní) soubor .nuspec s komentáři, které popisují vlastnosti:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<!-- An identifier that must be unique within the hosting gallery -->
<id>Contoso.Utility.UsefulStuff</id>
<!-- A package version number that's used when resolving dependencies -->
<version>1.8.3</version>
<!-- A comma-separated list of package authors that sometimes appears directly on the gallery -->
<authors>Dejana Tesic, Rajeev Dey</authors>
<!-- A project URL that provides a link for the gallery -->
<projectUrl>http://github.com/contoso/UsefulStuff</projectUrl>
<!-- License information that's displayed on the gallery -->
<license type="expression">Apache-2.0</license>
<!-- The location of a read-me file that's displayed in the Visual Studio Package Manager UI -->
<readme>readme.md</readme>
<!-- An icon that's used in the Visual Studio Package Manager UI -->
<icon>icon.png</icon>
<!--
A property that when true, prompts the user to accept the license when
installing the package
-->
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<!-- Detailed information about a particular release -->
<releaseNotes>Bug fixes and performance improvements</releaseNotes>
<!--
A description that can be used in the Package Manager UI. The
nuget.org gallery uses information you add in the portal.
-->
<description>Core utility functions for web applications</description>
<!-- Copyright information -->
<copyright>Copyright ©2026 Contoso Corporation</copyright>
<!-- Tags that appear in the gallery and can be used for tag searches -->
<tags>web utility http json url parsing</tags>
<!-- Dependencies that are automatically installed when the package is installed -->
<dependencies>
<dependency id="Newtonsoft.Json" version="9.0" />
</dependencies>
</metadata>
<!-- A read-me Markdown file that's displayed in the Package Manager UI -->
<files>
<file src="readme.md" target="" />
<file src="icon.png" target="" />
</files>
</package>
Podrobné informace o deklarování závislostí a zadávání čísel verzí najdete v tématu packages.config a správa verzí balíčků. Pomocí atributů include a exclude prvku dependency můžete určit prostředky závislostí, které chcete zahrnout nebo vyloučit v balíčku. Další informace viz .nuspec Reference - Dependencies element.
Vzhledem k tomu, že manifest je součástí balíčku vytvořeného z něj, najdete příklady prozkoumáním existujících balíčků. Dobrým zdrojem je složka globálních balíčků ve vašem počítači. Umístění najdete pomocí následujícího příkazu:
nuget locals -list global-packages
Jakmile znáte umístění složky global-packages , vyhledejte soubor manifestu následujícím postupem:
- Přejděte do složky global-packages .
- V této složce přejděte do podsložky pro libovolný balíček a pak přejděte do podsložky pro libovolnou verzi balíčku.
- V podsložce verze vytvořte kopii souboru .nupkg a změňte příponu kopie na zip.
- Otevřete soubor .zip a prozkoumejte v něm soubor .nuspec .
Poznámka:
Při vytváření souboru .nuspec z projektu Visual Studio obsahuje manifest tokeny, které se při sestavení balíčku nahradí informacemi z projektu. Další informace najdete v tématu Vytvoření souboru .nuspec z projektu Visual Studio.
Vytvoření souboru .nuspec
Vytvoření kompletního manifestu obvykle začíná základním souborem .nuspec vygenerovaným jednou z následujících metod:
- Pracovní adresář založený na konvencích
- Sestavovací DLL knihovna
- Projekt Visual Studio
- Nový soubor s výchozími hodnotami
Soubor pak upravíte ručně tak, aby popsal přesný obsah, který chcete mít v posledním balíčku.
Důležité
Vygenerované soubory .nuspec obsahují zástupné symboly, které je nutné upravit před vytvořením balíčku pomocí nuget pack příkazu. Tento příkaz selže, pokud soubor .nuspec obsahuje nějaké zástupné symboly.
Z pracovního adresáře založeného na konvencích
Protože balíček NuGet je soubor ZIP, který byl přejmenován s příponou .nupkg , je často nejjednodušší vytvořit strukturu složek, kterou chcete vytvořit v místním systému souborů, a pak vytvořit soubor .nuspec přímo z této struktury. Příkaz nuget pack pak automaticky přidá všechny soubory v této struktuře složek, ale vyloučí všechny složky, které začínají tečkou, takže můžete zachovat soukromé soubory ve stejné struktuře.
Výhodou tohoto přístupu je, že v manifestu nemusíte zadávat soubory, které chcete zahrnout do balíčku, jak je vysvětleno dále v této části. Místo toho můžete mít proces sestavení, který vytvoří přesnou strukturu složek, která do balíčku přejde. Můžete také snadno zahrnout další soubory, které nemusí být součástí projektu, jinak:
- Obsah a zdrojový kód, který by se měl vložit do cílového projektu
- Skripty PowerShellu
- Transformace na existující soubory konfigurace a zdrojového kódu v projektu
Složky odpovídají následujícím zásadám:
| Složka | Obsah | Akce při instalaci balíčku |
|---|---|---|
| (root) | Manifest balíčku, složky nejvyšší úrovně a volitelně soubor Markdownu pro čtení a obrázek ikony | Tato složka se používá jako výchozí bod pro standardizované podsložky, jako je lib a build. |
| lib/<tfm> | Sestavení (.dll), dokumentace (.xml) a soubory symbolů (.pdb) pro daný moniker cílové platformy (TFM) | Sestavení jsou přidávána jako reference pro čas kompilace a běhové prostředí. Soubory .xml a .pdb se zkopírují do složek projektu. Informace o vytváření podsložek specifických pro cílovou architekturu najdete v tématu Support multiple .NET versions. |
| ref/<tfm> | Sestavení (.dll) a soubory symbolů (.pdb) pro daný TFM | Sestavení se přidávají jako reference pouze pro čas kompilace. Do složky přihrádky projektu se nic nekopíruje. |
| Runtime | Sestavení specifické pro architekturu (.dll), symbol (.pdb) a nativní soubory prostředků (.pri) | Sestavení jsou přidána jako odkazy pouze pro modul runtime. Ostatní soubory se zkopírují do složek projektu. Ve složce AnyCPU by mělo vždy existovat odpovídající sestavení specifické pro (TFM) <, které poskytuje odpovídající sestavení pro kompilaci. Viz Support multiple .NET versions. |
| obsah | Libovolné soubory | Obsah se zkopíruje do kořenového adresáře projektu. Složku obsahu si můžete představit jako kořen cílové aplikace, která balíček nakonec využívá. Pokud chcete, aby balíček přidal obrázek do složky /images aplikace, umístěte ho do složky obsahu/obrázků balíčku. |
| Sestavení | (3.x+) Microsoft Build Engine (MSBuild) .targets a soubory .props | Tyto soubory se automaticky vloží do projektu. |
| buildMultiTargeting | (4.0+) Soubory .targets a .props nástroje MSBuild pro cílení napříč architekturami | Tyto soubory se automaticky vloží do projektu. |
| buildTransitive | (5.0+) MSBuild .targets a .props soubory, které se tranzitivně šíří do jakéhokoliv závislého projektu | Tyto soubory se automaticky vloží do projektu. Podívejte se na stránku funkce . |
| Nástroje | Skripty a programy PowerShellu přístupné z konzoly Package Manager | Složka tools se přidá do proměnné prostředí PATH pouze pro konzolu Package Manager. Není přidáno k hodnotě PATH, kterou nástroj MSBuild používá při sestavování projektu. |
Vzhledem k tomu, že struktura složek může obsahovat sestavení pro mnoho cílových architektur, je tato metoda nutná při vytváření balíčků, které podporují více architektur.
Pokud máte zavedenou strukturu požadovaných složek, spusťte v této složce následující příkaz, který vytvoří soubor .nuspec :
nuget spec
Vygenerovaný soubor .nuspec neobsahuje žádné explicitní odkazy na soubory ve struktuře složek. NuGet automaticky zahrne všechny soubory při vytvoření balíčku. Stále ale potřebujete upravit zástupné hodnoty v jiných částech manifestu.
Ze sestavovací knihovny DLL
V základním případě vytvoření balíčku ze sestavení můžete vygenerovat soubor .nuspec z metadat v sestavení pomocí následujícího příkazu:
nuget spec <assembly-name>.dll
Použití tohoto formuláře nahrazuje několik zástupných symbolů v manifestu konkrétními hodnotami ze sestavení. Například, vlastnost <id> je nastavena na název sestavení a <version> je nastavena na verzi sestavení. Jiné vlastnosti v manifestu však nemají odpovídající hodnoty v sestavení. Tyto vlastnosti stále obsahují zástupné symboly po spuštění příkazu.
Z projektu Visual Studio
Vytvoření souboru .nuspec ze souboru .csproj nebo .vbproj je vhodné, protože ostatní balíčky nainstalované v projektu se automaticky odkazují jako závislosti. Pokud chcete vytvořit manifest ze souboru projektu, použijte následující příkaz ve složce, která obsahuje soubor projektu:
# Use in a folder that contains a project file, such as <project-name>.csproj or <project-name>.vbproj.
nuget spec
Výsledný <soubor project-name.nuspec> obsahuje tokeny, které jsou nahrazeny v době balení hodnotami z projektu, včetně odkazů na všechny ostatní balíčky, které již byly nainstalovány.
Pokud máte závislosti balíčků, které se mají zahrnout do souboru .nuspec, použijte nuget packmísto toho . Pak získejte soubor .nuspec z vygenerovaného souboru .nupkg . Použijte například následující příkaz:
# Use in a folder that contains a project file, such as <project-name>.csproj or <project-name>.vbproj.
nuget pack myproject.csproj
Token je odděleny $ symboly na obou stranách atributu projektu. Například <id> hodnota v manifestu vygenerovaná tímto způsobem obvykle vypadá jako následující řádek:
<id>$id$</id>
Tento token se v době balení nahradí AssemblyName hodnotou souboru projektu. Přesné mapování hodnot projektu na tokeny souboru .nuspec naleznete v tématu Nahrazení tokenů.
Tokeny vás zbavují nutnosti aktualizovat klíčové hodnoty, jako je číslo verze v souboru .nuspec při aktualizaci projektu. Tokeny ale můžete také nahradit doslovnými hodnotami.
Při práci z projektu Visual Studio je k dispozici několik dalších možností balení, jak je popsáno v balíčku nuget Run nuget, který vygeneruje soubor .nupkg dále v tomto článku.
Balíčky na úrovni řešení
Pouze NuGet 2.x Není k dispozici v NuGetu 3.0 nebo novějším.
NuGet 2.x podporuje koncept balíčku na úrovni řešení, který nainstaluje nástroje nebo další příkazy pro konzolu Package Manager (obsah tools složky), ale nepřidává odkazy, obsah ani sestavování vlastních nastavení pro žádné projekty v řešení. Tyto balíčky neobsahují žádné soubory ve svých přímých složkách lib, content nebo build a žádná z jejich závislostí neobsahuje soubory ve svých příslušných složkách lib, content nebo build.
NuGet sleduje nainstalované balíčky na úrovni řešení v souborupackages.config ve složce .nuget , nikoli v souboru packages.config projektu.
Z nového souboru s výchozími hodnotami
Následující příkaz vytvoří výchozí manifest se zástupnými symboly, což vám pomůže začít se správnou strukturou souborů:
nuget spec [<package-name>]
Pokud vynecháte <package-name>, výsledný soubor má název Package.nuspec. Pokud zadáte název, například Contoso.Utility.UsefulStuff, soubor má název Contoso.Utility.UsefulStuff.nuspec.
Výsledný soubor .nuspec obsahuje zástupné symboly pro hodnoty jako projectUrl. Než použijete soubor k vytvoření konečného souboru .nupkg , nahraďte zástupné symboly příslušnými hodnotami.
Zvolte jedinečný identifikátor balíčku a nastavte číslo verze.
Identifikátor balíčku (<id> element) a číslo verze (<version> element) jsou dvě nejdůležitější hodnoty v manifestu, protože jednoznačně identifikují přesný kód obsažený v balíčku.
Osvědčené postupy pro identifikátor balíčku
-
Jedinečnost: Identifikátor musí být jedinečný v galerii, která hostuje balíček, například nuget.org. Než se rozhodnete o identifikátoru, vyhledejte příslušnou galerii a zkontrolujte, jestli se název už používá. Aby nedocházelo ke konfliktům, dobrým vzorem je použít název vaší společnosti jako první část identifikátoru, například
Contoso. -
Názvy podobné oborům názvů: Dodržujte vzor podobný oborům názvů v .NET, používejte tečkovou notaci místo pomlček. Použijte například
Contoso.Utility.UsefulStuffmístoContoso-Utility-UsefulStuffneboContoso_Utility_UsefulStuff. Příjemci také zjistí, že identifikátor balíčku odpovídá oborům názvů použitým v kódu. -
Ukázkové balíčky: Pokud vytvoříte balíček vzorového kódu, který ukazuje, jak použít jiný balíček, připojte
.Samplejako příponu k identifikátoru, jako vContoso.Utility.UsefulStuff.Sample. Ukázkový balíček tohoto typu má závislost na balíčku, který ukazuje, jak se má použít. Při vytváření ukázkového balíčku použijte metodu pracovního adresáře založenou na konvenci popsanou výše. Ve složce obsahu uspořádejte vzorový kód do složky s názvem \Samples\<identifier>, jako v \Samples\Contoso.Utility.UsefulStuff.Sample.
Osvědčené postupy pro verzi balíčku
- Obecně nastavte verzi balíčku tak, aby odpovídala knihovně. Tyto pokyny se doporučují, ale nejsou nezbytně nutné. Tento postup je jednoduchý, když omezíte balíček na jedno sestavení, jak je popsáno výše v části Rozhodnutí, která sestavení se mají zabalit. Obecně si pamatujte, že NuGet se zabývá verzemi balíčků při řešení závislostí, nikoli verzemi sestavení.
- Pokud používáte nestandardní schéma verzí, zvažte pravidla správy verzí NuGet, jak je vysvětleno ve správě verzí balíčků.
Další zdroje informací, které jsou užitečné pro pochopení správy verzí, najdete v následující sérii krátkých blogových příspěvků:
- Část 1: Řešení problémů DLL Hell
- Část 2: Základní algoritmus
- Část 3: Sjednocení pomocí přesměrování vazeb
Přidání souboru read-me a dalších souborů
Pokud chcete přímo zadat soubory, které se mají zahrnout do balíčku, použijte <files> uzel v souboru .nuspec , který následuje za značkou <metadata> :
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<!-- ... -->
</metadata>
<files>
<!-- Add files from an arbitrary folder that's not necessarily in the project. -->
<file src="..\..\SomeRoot\**\*.*" target="" />
</files>
</package>
Návod
Při použití přístupu pracovního adresáře založeného na konvencích můžete umístit soubor readme.md do kořenového adresáře balíčku a dalšího obsahu do složky obsahu . V manifestu nejsou potřeba žádné <file> prvky.
Pokud chcete do balíčku zahrnout soubor read-me, použijte readme element metadat k určení cílové cesty k souboru read-me. Pomocí file elementu metadat také určete zdrojovou cestu a cílovou složku souboru read-me. Další informace najdete na webu readme.
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<!-- ... -->
<readme>docs\readme.md</readme>
<!-- ... -->
</metadata>
<files>
<!-- Add a read-me file. -->
<file src="..\readme.md" target="docs\" />
</files>
</package>
Visual Studio zobrazí obsah souboru read-me v uživatelském rozhraní Package Manager. Například následující snímek obrazovky ukazuje soubor read-me balíčku HtmlAgilityPack :
Poznámka:
Pokud do souboru <files> zahrnete prázdný uzel, NuGet zahrne obsah složky lib v balíčku, ale žádný jiný obsah.
Zahrnutí props a cíle MSBuild do balíčku
V některých případech můžete chtít přidat vlastní cíle sestavení nebo vlastnosti do projektů, které využívají váš balíček, například spuštění vlastního nástroje nebo procesu během sestavování. Další informace o cílech a vlastnostech vlastního sestavení naleznete v MSBuild .props a .targets v balíčku.
Ve složkách < projektu vytvořte >, například <.
Pak v souboru .nuspec odkazujte na tyto soubory v <files> uzlu:
<?xml version="1.0"?>
<package >
<metadata minClientVersion="2.5">
<!-- ... -->
</metadata>
<files>
<!-- In the package build folder, include everything that's in the local build folder. -->
<file src="build\**" target="build" />
<!-- Other files -->
<!-- ... -->
</files>
</package>
Když se balíčky přidají do projektu, NuGet tyto vlastnosti a cíle automaticky zahrne.
Spuštěním balíčku NuGet vygenerujte soubor .nupkg.
Pokud používáte sestavení nebo pracovní adresář založený na konvenci, vytvořte balíček spuštěním nuget pack se souborem .nuspec . V následujícím příkazu nahraďte <project-name> názvem projektu:
nuget pack <project-name>.nuspec
Při použití projektu Visual Studio spusťte nuget pack se souborem projektu. Tento příkaz automaticky načte soubor .nuspec projektu a nahradí všechny tokeny v něm odpovídajícími hodnotami v souboru projektu:
nuget pack <project-name>.csproj
Poznámka:
Pro nahrazení tokenu je nutné použít soubor projektu přímo, protože projekt je zdrojem hodnot tokenu. Nahrazení tokenu nebude úspěšné, pokud použijete nuget pack soubor .nuspec .
Ve všech případech vyloučí ty složky, které začínají tečkou, například nuget pack nebo .hg.
NuGet označuje, jestli v souboru .nuspec existují nějaké chyby, které potřebují opravit, například zástupné hodnoty v manifestu, které je potřeba aktualizovat.
Po nuget pack úspěšném dokončení máte soubor .nupkg, který můžete publikovat do vhodné galerie, jak je popsáno v Publikování balíčků NuGet.
Návod
Užitečný způsob, jak balíček po vytvoření prozkoumat, je otevřít ho v nástroji Průzkumník balíčků . Tento nástroj poskytuje grafické zobrazení obsahu balíčku a jeho manifestu. Výsledný soubor .nupkg můžete také přejmenovat na .zip soubor a prozkoumat jeho obsah přímo.
Další možnosti
Pomocí různých přepínačů nuget pack příkazového řádku můžete vyloučit soubory, přepsat číslo verze v manifestu a změnit výstupní složku mimo jiné. Úplný seznam najdete v příkazu pack (NuGet CLI).
Následující možnosti jsou některé z těch, které jsou běžné u projektů ve Visual Studiu:
Odkazované projekty: Pokud projekt odkazuje na jiné projekty, můžete odkazované projekty přidat jako součást balíčku nebo jako závislosti pomocí
-IncludeReferencedProjectsmožnosti:nuget pack MyProject.csproj -IncludeReferencedProjectsTento proces zahrnutí je rekurzivní. Pokud například MyProject.csproj odkazuje na projekty B a C a tyto projekty odkazují na D, E a F, soubory z B, C, D, E a F jsou zahrnuty v balíčku.
Pokud odkazovaný projekt obsahuje vlastní soubor .nuspec , NuGet přidá tento odkazovaný projekt jako závislost. Tento projekt je potřeba zabalit a publikovat samostatně.
Konfigurace sestavení: Ve výchozím nastavení používá NuGet výchozí konfiguraci sestavení nastavenou v souboru projektu, obvykle
Debug. Pokud chcete zabalit soubory z jiné konfigurace sestavení, napříkladReleasepoužijte-propertiesmožnost s konfigurací:nuget pack MyProject.csproj -properties Configuration=ReleaseSymboly: Pokud chcete zahrnout symboly, které uživatelům umožní procházet kód balíčku v ladicím programu, použijte tyto
-Symbolsa-SymbolPackageFormatmožnosti. Pro možnost-SymbolPackageFormatzadejte formátsnupkg:nuget pack MyProject.csproj -symbols -SymbolPackageFormat snupkg
Instalace testovacího balíčku
Před publikováním balíčku obvykle chcete otestovat proces instalace balíčku do projektu. Test pomáhá zajistit, aby všechny potřebné soubory skončily na správném místě v projektu.
Instalace můžete testovat ručně v Visual Studio nebo na příkazovém řádku pomocí standardních kroků instalace package.
Pro automatizované testování můžete použít následující základní proces:
- Zkopírujte soubor .nupkg do místní složky.
- Pomocí příkazu přidejte složku do zdrojů
nuget sources add -name <name> -source <path>balíčků. Další informace najdete v příkazu zdroje (rozhraní příkazového řádku NuGet). Tento místní zdroj je potřeba nastavit pouze jednou v libovolném daném počítači. - Nainstalujte balíček z daného zdroje pomocí
nuget install <package-ID> -source <name>. V tomto příkazu by se<name>měl shodovat s názvem zdroje, který používáte v příkazunuget sources. Zadáním zdroje sdělí NuGetu, aby balíček nainstaloval z tohoto zdroje. - Zkontrolujte systém souborů a zkontrolujte, jestli jsou soubory správně nainstalované.
Související obsah
Jakmile vytvoříte balíček, což je soubor .nupkg , můžete ho publikovat do galerie podle vašeho výběru. Další informace najdete v tématu Publikování balíčků NuGet.
Můžete také rozšířit možnosti balíčku nebo podporovat jiné scénáře. Další informace najdete v následujících článcích:
- Verzování balíčků
- Podpora více verzí .NET
- Transformace zdrojového kódu a konfiguračních souborů
- Vytváření lokalizovaných balíčků NuGet
- Vytváření předběžných balíčků
- Nastavení typu balíčku NuGet
- Vytvoření balíčků NuGet obsahujících sestavení pro spolupráci s COM
Další typy balíčků, o které je potřeba vědět, najdete v následujících článcích: