odkaz. nuspec.nuspec reference

Soubor .nuspec je manifest XML, který obsahuje metadata balíčku.A .nuspec file is an XML manifest that contains package metadata. Tento manifest slouží k sestavení balíčku a k poskytování informací pro uživatele.This manifest is used both to build the package and to provide information to consumers. Manifest je vždy součástí balíčku.The manifest is always included in a package.

V tomto tématu:In this topic:

Kompatibilita typů projektuProject type compatibility

Obecné formuláře a schémaGeneral form and schema

Aktuální soubor schématu nuspec.xsd najdete v úložišti GitHub NuGet.The current nuspec.xsd schema file can be found in the NuGet GitHub repository.

V tomto schématu má soubor .nuspec následující obecný tvar:Within this schema, a .nuspec file has the following general form:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <!-- Required elements-->
        <id></id>
        <version></version>
        <description></description>
        <authors></authors>

        <!-- Optional elements -->
        <!-- ... -->
    </metadata>
    <!-- Optional 'files' node -->
</package>

V případě jasné vizuální reprezentace schématu otevřete soubor schématu v aplikaci Visual Studio v režimu návrhu a klikněte na odkaz Průzkumník schémat XML .For a clear visual representation of the schema, open the schema file in Visual Studio in Design mode and click on the XML Schema Explorer link. Případně soubor otevřete jako kód, klikněte v editoru pravým tlačítkem myši a vyberte Zobrazit Průzkumníka schémat XML.Alternately, open the file as code, right-click in the editor, and select Show XML Schema Explorer. Jak můžete vidět následující pohled (Pokud je převážně rozbalený):Either way you get a view like the one below (when mostly expanded):

Průzkumník schémat sady Visual Studio s otevřeným nuspec. xsd

Požadované prvky metadatRequired metadata elements

I když následující prvky jsou minimální požadavky na balíček, měli byste zvážit přidání volitelných prvků metadat pro zlepšení celkového prostředí, které vývojáři mají s vaším balíčkem.Although the following elements are the minimum requirements for a package, you should consider adding the optional metadata elements to improve the overall experience developers have with your package.

Tyto prvky musí být uvedeny v rámci elementu <metadata>.These elements must appear within a <metadata> element.

idid

Identifikátor balíčku bez rozlišení velkých a malých písmen, který musí být jedinečný v rámci nuget.org nebo jakákoli galerie, v níž se balíček nachází.The case-insensitive package identifier, which must be unique across nuget.org or whatever gallery the package resides in. ID nesmí obsahovat mezery ani znaky, které nejsou platné pro adresu URL a obecně následují pravidla oboru názvů .NET.IDs may not contain spaces or characters that are not valid for a URL, and generally follow .NET namespace rules. Pokyny najdete v tématu Volba jedinečného identifikátoru balíčku .See Choosing a unique package identifier for guidance.

verzeversion

Verze balíčku, podle vzoru hlavní_verze. podverze. Oprava .The version of the package, following the major.minor.patch pattern. Čísla verzí můžou obsahovat příponu předběžné verze, jak je popsáno v tématu Správa verzí balíčků.Version numbers may include a pre-release suffix as described in Package versioning.

descriptiondescription

Popis balíčku pro zobrazení uživatelského rozhraníA description of the package for UI display.

Autořiauthors

Čárkami oddělený seznam autorů balíčků, které odpovídají názvům profilů v nuget.org. Ty se zobrazí v galerii NuGet na nuget.org a používají se pro balíčky křížového odkazu stejnými autory.A comma-separated list of packages authors, matching the profile names on nuget.org. These are displayed in the NuGet Gallery on nuget.org and are used to cross-reference packages by the same authors.

Volitelné prvky metadatOptional metadata elements

vlastníkaowners

Čárkami oddělený seznam tvůrců balíčků s použitím názvů profilů v nuget.org. Často se jedná o stejný seznam jako v authors a při nahrávání balíčku do nuget.org se ignoruje. Viz Správa vlastníků balíčků na NuGet.org.A comma-separated list of the package creators using profile names on nuget.org. This is often the same list as in authors, and is ignored when uploading the package to nuget.org. See Managing package owners on nuget.org.

projectUrlprojectUrl

Adresa URL domovské stránky balíčku, která se často zobrazuje v uživatelském rozhraní, a také nuget.org.A URL for the package's home page, often shown in UI displays as well as nuget.org.

licenseUrllicenseUrl

Důležité

licenseUrl je zastaralá.licenseUrl is deprecated. Místo toho použijte licenci.Use license instead.

Adresa URL licence balíčku, která se často zobrazuje v uživatelská rozhraní jako nuget.org.A URL for the package's license, often shown in UIs like nuget.org.

průkazlicense

SPDX licenční výraz nebo cesta k souboru s licencí v balíčku, který se často zobrazuje v uživatelská rozhraní jako nuget.org. Pokud je balíček licencován v rámci společné licence, jako je například MIT nebo BSD-2, použijte přidružený identifikátor licence SPDX.An SPDX license expression or path to a license file within the package, often shown in UIs like nuget.org. If you're licensing the package under a common license, like MIT or BSD-2-Clause, use the associated SPDX license identifier. Příklad:For example:

<license type="expression">MIT</license>

Poznámka

NuGet.org akceptuje pouze licenční výrazy, které jsou schváleny v rámci iniciativy Open Source nebo Free Software Foundation.NuGet.org only accepts license expressions that are approved by the Open Source Initiative or the Free Software Foundation.

Pokud je váš balíček licencován více běžnými licencemi, můžete zadat složenou licenci pomocí syntaxe výrazu SPDX verze 2,0.If your package is licensed under multiple common licenses, you can specify a composite license using the SPDX expression syntax version 2.0. Příklad:For example:

<license type="expression">BSD-2-Clause OR MIT</license>

Pokud používáte vlastní licenci, která není podporovaná výrazy pro licence, můžete zabalit soubor .txt nebo .md s textem licence.If you use a custom license that isn't supported by license expressions, you can package a .txt or .md file with the license's text. Příklad:For example:

<package>
  <metadata>
    ...
    <license type="file">LICENSE.txt</license>
    ...
  </metadata>
  <files>
    ...
    <file src="licenses\LICENSE.txt" target="" />
    ...
  </files>
</package>

V případě ekvivalentu MSBuild si prohlédněte balení licenčního výrazu nebo souboru s licencí.For the MSBuild equivalent, take a look at Packing a license expression or a license file.

Přesná Syntaxe výrazů s licenčními výrazy NuGet je popsaná níže v tématu ABNF.The exact syntax of NuGet's license expressions is described below in ABNF.

license-id            = <short form license identifier from https://spdx.org/spdx-specification-21-web-version#h.luq9dgcle9mo>

license-exception-id  = <short form license exception identifier from https://spdx.org/spdx-specification-21-web-version#h.ruv3yl8g6czd>

simple-expression = license-id / license-id”+”

compound-expression =  1*1(simple-expression /
                simple-expression "WITH" license-exception-id /
                compound-expression "AND" compound-expression /
                compound-expression "OR" compound-expression ) /                
                "(" compound-expression ")" )

license-expression =  1*1(simple-expression / compound-expression / UNLICENSED)

iconUrliconUrl

Důležité

iconUrl je zastaralá.iconUrl is deprecated. Místo toho použijte ikonu.Use icon instead.

Adresa URL 64 × 64 obrázku s pozadím průhlednosti, která se má použít jako ikona balíčku v zobrazení uživatelského rozhraní.A URL for a 64x64 image with transparency background to use as the icon for the package in UI display. Ujistěte se, že tento prvek obsahuje adresu URL přímého obrázku , a ne adresu URL webové stránky, která obsahuje obrázek.Be sure this element contains the direct image URL and not the URL of a web page containing the image. Pokud například chcete použít image z GitHubu, použijte adresu URL nezpracovaného souboru, například https://github.com/<username>/<repository>/raw/<branch>/<logo.png>.For example, to use an image from GitHub, use the raw file URL like https://github.com/<username>/<repository>/raw/<branch>/<logo.png>.

ikonaicon

Jedná se o cestu k souboru obrázku v rámci balíčku, který se často zobrazuje v uživatelská rozhraní jako ikona balíčku jako nuget.org.It is a path to an image file within the package, often shown in UIs like nuget.org as the package icon. Velikost souboru obrázku je omezená na 1 MB.Image file size is limited to 1 MB. Podporované formáty souborů zahrnují JPEG a PNG.Supported file formats include JPEG and PNG. Doporučujeme resoulution image 64 × 64.We recommend an image resoulution of 64x64.

Například při vytváření balíčku pomocí nástroje NuGet. exe přidejte do své služby nuspec následující:For example, you would add the following to your nuspec when creating a package using nuget.exe:

<package>
  <metadata>
    ...
    <icon>images\icon.png</icon>
    ...
  </metadata>
  <files>
    ...
    <file src="..\icon.png" target="images\" />
    ...
  </files>
</package>

Ikona balíčku nuspec vzorekPackage Icon nuspec sample.

V případě ekvivalentu MSBuild se podíváme na balení souboru obrázku ikony.For the MSBuild equivalent, take a look at Packing an icon image file.

Tip

Pro zajištění zpětné kompatibility se zdroji, které nepodporují icon, můžete zadat jak icon, tak iconUrl.You can specify both icon and iconUrl to maintain backward compatibility with sources that do not support icon. Visual Studio bude podporovat icon pro balíčky ze zdroje založeného na složce v budoucí verzi.Visual Studio will support icon for packages coming from a folder-based source in a future release.

requireLicenseAcceptancerequireLicenseAcceptance

Logická hodnota určující, zda klient musí požádat spotřebitele o přijetí licence k balíčku před instalací balíčku.A Boolean value specifying whether the client must prompt the consumer to accept the package license before installing the package.

developmentDependencydevelopmentDependency

(2.8 +) Logická hodnota určující, zda je balíček označen pouze pro vývoj, což zabrání zahrnutí balíčku jako závislosti v jiných balíčcích.(2.8+) A Boolean value specifying whether the package is be marked as a development-only-dependency, which prevents the package from being included as a dependency in other packages. Pomocí PackageReference (NuGet 4,8 +) Tento příznak také znamená, že vyloučí prostředky při kompilaci z kompilace.With PackageReference (NuGet 4.8+), this flag also means that it will exclude compile-time assets from compilation. Viz Podpora DevelopmentDependency pro PackageReferenceSee DevelopmentDependency support for PackageReference

souhrnsummary

Důležité

summary se už nepoužívá.summary is being deprecated. Místo nich se používá description.Use description instead.

Krátký popis balíčku pro zobrazení uživatelského rozhraní.A short description of the package for UI display. Je-li tento parametr vynechán, je použita zkrácená verze description.If omitted, a truncated version of description is used.

releaseNotesreleaseNotes

(1,5 +) Popis změn provedených v této verzi balíčku, který se často používá v uživatelském rozhraní jako karta aktualizace správce balíčků sady Visual Studio místo popisu balíčku.(1.5+) A description of the changes made in this release of the package, often used in UI like the Updates tab of the Visual Studio Package Manager in place of the package description.

(1,5 +) Podrobnosti o autorských právech pro balíček.(1.5+) Copyright details for the package.

jazyklanguage

ID národního prostředí balíčku.The locale ID for the package. Viz vytváření lokalizovaných balíčků.See Creating localized packages.

značkytags

Mezerou oddělený seznam značek a klíčových slov, které popisují balíček a pomáhají zjistit balíčky pomocí vyhledávání a filtrování.A space-delimited list of tags and keywords that describe the package and aid discoverability of packages through search and filtering.

serviceableserviceable

(3.3 +) Pouze pro interní použití NuGet.(3.3+) For internal NuGet use only.

úložištěrepository

Metadata úložiště sestávající ze čtyř volitelných atributů: type a url (4.0 +) a branch a commit (4.6 +) .Repository metadata, consisting of four optional attributes: type and url (4.0+), and branch and commit (4.6+). Tyto atributy umožňují namapovat .nupkg do úložiště, které ho vytvořilo, s potenciálem, který se má zobrazit jako název jednotlivé větve a/nebo zapsat hodnotu hash SHA-1, která balíček vytvořila.These attributes allow you to map the .nupkg to the repository that built it, with the potential to get as detailed as the individual branch name and / or commit SHA-1 hash that built the package. Měla by to být veřejně dostupná adresa URL, kterou lze vyvolat přímo pomocí softwaru pro správu verzí.This should be a publicly available url that can be invoked directly by a version control software. Neměla by se jednat o stránku HTML, která je určena pro daný počítač.It should not be an html page as this is meant for the computer. Pro odkazování na stránku projektu použijte místo toho pole projectUrl.For linking to project page, use the projectUrl field, instead.

Příklad:For example:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2016/06/nuspec.xsd">
    <metadata>
        ...
        <repository type="git" url="https://github.com/NuGet/NuGet.Client.git" branch="dev" commit="e1c65e4524cd70ee6e22abe33e6cb6ec73938cb3" />
        ...
    </metadata>
</package>

hlavatitle

Popisný název balíčku, který se dá použít v některých zobrazeních uživatelského rozhraní.A human-friendly title of the package which may be used in some UI displays. (nuget.org a správce balíčků v aplikaci Visual Studio nezobrazuje název)(nuget.org and the Package Manager in Visual Studio do not show title)

Prvky kolekceCollection elements

packageTypespackageTypes

(3.5 +) Kolekce nula nebo více prvků <packageType> určující typ balíčku, pokud je jiný než tradiční balíček závislostí.(3.5+) A collection of zero or more <packageType> elements specifying the type of the package if other than a traditional dependency package. Každý packageType má atributy názvu a verze.Each packageType has attributes of name and version. Viz Nastavení typu balíčku.See Setting a package type.

závislostidependencies

Kolekce nula nebo více elementů <dependency> určujících závislosti pro balíček.A collection of zero or more <dependency> elements specifying the dependencies for the package. Každá závislost má atributy ID, verze, include (3. x +) a Exclude (3. x +).Each dependency has attributes of id, version, include (3.x+), and exclude (3.x+). Viz závislosti níže.See Dependencies below.

frameworkAssembliesframeworkAssemblies

(1,2 +) Kolekce nula nebo více prvků <frameworkAssembly>, které identifikují .NET Framework odkaz na sestavení, které tento balíček vyžaduje, což zajišťuje, aby se odkazy přidaly do projektů, které balíček spotřebovává.(1.2+) A collection of zero or more <frameworkAssembly> elements identifying .NET Framework assembly references that this package requires, which ensures that references are added to projects consuming the package. Každý frameworkAssembly má atributy AssemblyName a targetFramework .Each frameworkAssembly has assemblyName and targetFramework attributes. Viz určení sestavení rozhraní odkazy v mezipaměti GAC níže.See Specifying framework assembly references GAC below.

odkazyreferences

(1,5 +) Kolekce nula nebo více prvků <reference> pojmenování sestavení ve složce lib balíčku, které jsou přidány jako odkazy na projekt.(1.5+) A collection of zero or more <reference> elements naming assemblies in the package's lib folder that are added as project references. Každý odkaz má atribut File .Each reference has a file attribute. <references> může obsahovat také prvek <group> s atributem targetFramework , který pak obsahuje prvky <reference>.<references> can also contain a <group> element with a targetFramework attribute, that then contains <reference> elements. Pokud tento parametr vynecháte, jsou zahrnuty všechny odkazy v lib.If omitted, all references in lib are included. Viz zadání explicitních odkazů na sestavení níže.See Specifying explicit assembly references below.

contentFilescontentFiles

(3.3 +) Kolekce prvků <files>, které identifikují soubory obsahu, které mají být zahrnuty do náročného projektu.(3.3+) A collection of <files> elements that identify content files to include in the consuming project. Tyto soubory jsou zadány pomocí sady atributů, které popisují, jak by měly být použity v rámci systému projektu.These files are specified with a set of attributes that describe how they should be used within the project system. Viz Určení souborů, které se mají zahrnout do balíčku níže.See Specifying files to include in the package below.

souboryfiles

Uzel <package> může obsahovat uzel <files> jako na stejné úrovni jako <metadata> a podřízený <contentFiles> v rámci <metadata>, chcete-li určit, které sestavení a soubory obsahu zahrnout do balíčku.The <package> node may contain a <files> node as a sibling to <metadata>, and a <contentFiles> child under <metadata>, to specify which assembly and content files to include in the package. Podrobnosti najdete v části zahrnutí souborů sestavení a zahrnutí souborů obsahu dále v tomto tématu.See Including assembly files and Including content files later in this topic for details.

atributy metadatmetadata attributes

minClientVersionminClientVersion

Určuje minimální verzi klienta NuGet, která může nainstalovat tento balíček, který vynutila NuGet. exe a správce balíčků sady Visual Studio.Specifies the minimum version of the NuGet client that can install this package, enforced by nuget.exe and the Visual Studio Package Manager. Tato funkce se používá vždy, když balíček závisí na konkrétních funkcích souboru .nuspec, které byly přidány v konkrétní verzi klienta NuGet.This is used whenever the package depends on specific features of the .nuspec file that were added in a particular version of the NuGet client. Například balíček s použitím atributu developmentDependency by měl pro minClientVersion určovat hodnotu "2,8".For example, a package using the developmentDependency attribute should specify "2.8" for minClientVersion. Podobně balíček pomocí elementu contentFiles (viz další oddíl) by měl nastavit minClientVersion na "3,3".Similarly, a package using the contentFiles element (see the next section) should set minClientVersion to "3.3". Všimněte si také, že vzhledem k tomu, že klienti NuGet starší než 2,5 nerozpoznávají tento příznak, vždy zamítnou instalaci balíčku bez ohledu na to, co minClientVersion obsahuje.Note also that because NuGet clients prior to 2.5 do not recognize this flag, they always refuse to install the package no matter what minClientVersion contains.

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
    <metadata minClientVersion="100.0.0.1">
        <id>dasdas</id>
        <version>2.0.0</version>
        <title />
        <authors>dsadas</authors>
        <owners />
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>My package description.</description>
    </metadata>
    <files>
        <file src="content\one.txt" target="content\one.txt" />
    </files>
</package>

Náhradní tokenyReplacement tokens

Při vytváření balíčku nahradí příkaz nuget pack v uzlu <metadata> souboru .nuspec tokeny s oddělovači () s hodnotami, které pocházejí ze souboru projektu nebo přepínače -properties příkazu pack.When creating a package, the nuget pack command replaces $-delimited tokens in the .nuspec file's <metadata> node with values that come from either a project file or the pack command's -properties switch.

Na příkazovém řádku určíte hodnoty tokenu pomocí nuget pack -properties <name>=<value>;<name>=<value>.On the command line, you specify token values with nuget pack -properties <name>=<value>;<name>=<value>. Například můžete použít token, například $owners$ a $desc$ v .nuspec a zadat hodnoty v době balení následujícím způsobem:For example, you can use a token such as $owners$ and $desc$ in the .nuspec and provide the values at packing time as follows:

nuget pack MyProject.csproj -properties
    owners=janedoe,harikm,kimo,xiaop;desc="Awesome app logger utility"

Chcete-li použít hodnoty z projektu, zadejte tokeny popsané v následující tabulce (AssemblyInfo odkazuje na soubor v Properties, například AssemblyInfo.cs nebo AssemblyInfo.vb).To use values from a project, specify the tokens described in the table below (AssemblyInfo refers to the file in Properties such as AssemblyInfo.cs or AssemblyInfo.vb).

Chcete-li použít tyto tokeny, spusťte nuget pack se souborem projektu, nikoli pouze .nuspec.To use these tokens, run nuget pack with the project file rather than just the .nuspec. Například při použití následujícího příkazu jsou tokeny $id$ a $version$ v souboru .nuspec nahrazeny hodnotami AssemblyName a AssemblyVersion projektu:For example, when using the following command, the $id$ and $version$ tokens in a .nuspec file are replaced with the project's AssemblyName and AssemblyVersion values:

nuget pack MyProject.csproj

Když máte projekt, při počátečním vytváření .nuspec se použije nuget spec MyProject.csproj, který automaticky obsahuje některé z těchto standardních tokenů.Typically, when you have a project, you create the .nuspec initially using nuget spec MyProject.csproj which automatically includes some of these standard tokens. Pokud ale v projektu chybí hodnoty pro požadované .nuspec, neproběhne nuget pack.However, if a project lacks values for required .nuspec elements, then nuget pack fails. Pokud navíc změníte hodnoty projektu, nezapomeňte před vytvořením balíčku znovu sestavit. To lze provést pohodlně pomocí přepínače build příkazu Pack.Furthermore, if you change project values, be sure to rebuild before creating the package; this can be done conveniently with the pack command's build switch.

S výjimkou $configuration$ jsou hodnoty v projektu použity v předvolbách pro všechny přiřazené ke stejnému tokenu na příkazovém řádku.With the exception of $configuration$, values in the project are used in preference to any assigned to the same token on the command line.

KlíčovéToken Zdroj hodnotyValue source HodnotaValue
$id $$id$ Soubor projektuProject file AssemblyName (title) ze souboru projektuAssemblyName (title) from the project file
$version $$version$ AssemblyInfoAssemblyInfo AssemblyInformationalVersion, pokud je k dispozici, jinak AssemblyVersionAssemblyInformationalVersion if present, otherwise AssemblyVersion
$author $$author$ AssemblyInfoAssemblyInfo AssemblyCompanyAssemblyCompany
$title $$title$ AssemblyInfoAssemblyInfo AssemblyTitleAssemblyTitle
$description $$description$ AssemblyInfoAssemblyInfo AssemblyDescriptionAssemblyDescription
$copyright $$copyright$ AssemblyInfoAssemblyInfo AssemblyCopyrightAssemblyCopyright
$configuration $$configuration$ Knihovna DLL sestaveníAssembly DLL Konfigurace použitá pro sestavení sestavení, výchozí nastavení pro ladění.Configuration used to build the assembly, defaulting to Debug. Všimněte si, že pokud chcete vytvořit balíček pomocí konfigurace vydané verze, vždy použijte -properties Configuration=Release na příkazovém řádku.Note that to create a package using a Release configuration, you always use -properties Configuration=Release on the command line.

Tokeny lze také použít k překladu cest při zahrnutí souborů sestavení a souborů obsahu.Tokens can also be used to resolve paths when you include assembly files and content files. Tokeny mají stejné názvy jako vlastnosti MSBuild, což umožňuje vybrat soubory, které mají být zahrnuty v závislosti na aktuální konfiguraci sestavení.The tokens have the same names as the MSBuild properties, making it possible to select files to be included depending on the current build configuration. Například pokud v souboru .nuspec použijete následující tokeny:For example, if you use the following tokens in the .nuspec file:

<files>
    <file src="bin\$configuration$\$id$.pdb" target="lib\net40" />
</files>

A sestavíte sestavení, jehož AssemblyName je LoggingLibrary s konfigurací Release v nástroji MSBuild, výsledné řádky v souboru .nuspec v balíčku jsou následující:And you build an assembly whose AssemblyName is LoggingLibrary with the Release configuration in MSBuild, the resulting lines in the .nuspec file in the package is as follows:

<files>
    <file src="bin\Release\LoggingLibrary.pdb" target="lib\net40" />
</files>

Element závislostiDependencies element

Element <dependencies> v <metadata> obsahuje libovolný počet prvků <dependency>, které identifikují jiné balíčky, na kterých závisí balíček nejvyšší úrovně.The <dependencies> element within <metadata> contains any number of <dependency> elements that identify other packages upon which the top-level package depends. Atributy pro každý <dependency> jsou následující:The attributes for each <dependency> are as follows:

AtributAttribute PopisDescription
id Požadovanou ID balíčku závislosti, například "EntityFramework" a "NUnit", což je název balíčku nuget.org zobrazený na stránce balíčku.(Required) The package ID of the dependency, such as "EntityFramework" and "NUnit", which is the name of the package nuget.org shows on a package page.
version Požadovanou Rozsah verzí, které jsou přijatelné jako závislost.(Required) The range of versions acceptable as a dependency. Přesnou syntaxi najdete v tématu Správa verzí balíčků .See Package versioning for exact syntax. Zástupné verze (plovoucí) nejsou podporovány.Wildcard (floating) versions are not supported.
includeinclude Seznam značek include/Exclude oddělených čárkami (viz níže) označující závislost, kterou chcete zahrnout do finálního balíčku.A comma-delimited list of include/exclude tags (see below) indicating of the dependency to include in the final package. Výchozí hodnota je all.The default value is all.
excludeexclude Seznam značek include/Exclude oddělených čárkami (viz níže) označující závislost, která se má vyloučit v konečném balíčku.A comma-delimited list of include/exclude tags (see below) indicating of the dependency to exclude in the final package. Výchozí hodnota je build,analyzers, která může být přepsána.The default value is build,analyzers which can be over-written. Ale content/ ContentFiles jsou také implicitně vyloučené v konečném balíčku, který nelze přepsat.But content/ ContentFiles are also implicitly excluded in the final package which can't be over-written. Značky zadané pomocí exclude mají přednost před hodnotami zadanými v include.Tags specified with exclude take precedence over those specified with include. Například include="runtime, compile" exclude="compile" je stejný jako include="runtime".For example, include="runtime, compile" exclude="compile" is the same as include="runtime".
Značka include/ExcludeInclude/Exclude tag Ovlivněné složky v cíliAffected folders of the target
contentFilescontentFiles ObsahContent
modul runtimeruntime Modul runtime, prostředky a FrameworkAssembliesRuntime, Resources, and FrameworkAssemblies
Sestavenícompile Knihovnalib
sestaveníbuild Build (MSBuild props and targets)build (MSBuild props and targets)
nativnínative nativnínative
žádnánone Žádné složkyNo folders
všechnyall Všechny složkyAll folders

Například následující řádky označují závislosti na PackageA verze 1.1.0 nebo vyšší a PackageB verze 1. x.For example, the following lines indicate dependencies on PackageA version 1.1.0 or higher, and PackageB version 1.x.

<dependencies>
    <dependency id="PackageA" version="1.1.0" />
    <dependency id="PackageB" version="[1,2)" />
</dependencies>

Následující řádky označují závislosti pro stejné balíčky, ale určují, že se mají zahrnout složky contentFiles a build PackageA a všechny, ale složky native a compile PackageB.The following lines indicate dependencies on the same packages, but specify to include the contentFiles and build folders of PackageA and everything but the native and compile folders of PackageB"

<dependencies>
    <dependency id="PackageA" version="1.1.0" include="contentFiles, build" />
    <dependency id="PackageB" version="[1,2)" exclude="native, compile" />
</dependencies>

Důležité

Když vytváříte .nuspec z projektu pomocí nuget spec, závislosti, které existují v tomto projektu, nejsou automaticky zahrnuty ve výsledném souboru .nuspec.When creating a .nuspec from a project using nuget spec, dependencies that exist in that project are not automatically included in the resulting .nuspec file. Místo toho použijte nuget pack myproject.csproj a získejte soubor . nuspec v rámci generovaného souboru . nupkg .Instead, use nuget pack myproject.csproj, and get the .nuspec file from within the generated .nupkg file. This . nuspec obsahuje závislosti.This .nuspec contains the dependencies.

Skupiny závislostíDependency groups

Verze 2.0 +Version 2.0+

Jako alternativu k jednomu nestrukturovanému seznamu lze závislosti zadat v rámci profilu rozhraní cílového projektu pomocí prvků <group> v rámci <dependencies>.As an alternative to a single flat list, dependencies can be specified according to the framework profile of the target project using <group> elements within <dependencies>.

Každá skupina má atribut s názvem targetFramework a obsahuje nula nebo více prvků <dependency>.Each group has an attribute named targetFramework and contains zero or more <dependency> elements. Tyto závislosti jsou nainstalovány společně, pokud je cílový rámec kompatibilní s profilem rozhraní projektu.Those dependencies are installed together when the target framework is compatible with the project's framework profile.

Element <group> bez atributu targetFramework se používá jako výchozí nebo záložní seznam závislostí.The <group> element without a targetFramework attribute is used as the default or fallback list of dependencies. Přesné identifikátory rozhraní naleznete v tématu cílová rozhraní .See Target frameworks for the exact framework identifiers.

Důležité

Formát skupiny nelze vzájemně kombinovat s nestrukturovaným seznamem.The group format cannot be intermixed with a flat list.

Následující příklad ukazuje různé variace <group> elementu:The following example shows different variations of the <group> element:

<dependencies>
    <group>
        <dependency id="RouteMagic" version="1.1.0" />
    </group>

    <group targetFramework="net40">
        <dependency id="jQuery" version="1.6.2" />
        <dependency id="WebActivator" version="1.4.4" />
    </group>

    <group targetFramework="sl30">
    </group>
</dependencies>

Explicitní odkazy na sestaveníExplicit assembly references

Prvky <references> jsou používány projekty, které používají packages.config k explicitnímu určení sestavení, na které by měl cílový projekt odkazovat při použití balíčku.The <references> element is used by projects using packages.config to explicitly specify the assemblies that the target project should reference when using the package. Explicitní odkazy jsou obvykle používány pro sestavení pouze v době návrhu.Explicit references are typically used for design-time only assemblies. Další informace naleznete na stránce věnované výběru sestavení odkazovaných projekty , kde najdete další informace.For more information, see the page on selecting assemblies referenced by projects for more information.

Například následující prvek <references> instruuje NuGet, aby přidal odkazy pouze na xunit.dll a xunit.extensions.dll i v případě, že jsou v balíčku k dispozici další sestavení:For example, the following <references> element instructs NuGet to add references to only xunit.dll and xunit.extensions.dll even if there are additional assemblies in the package:

<references>
    <reference file="xunit.dll" />
    <reference file="xunit.extensions.dll" />
</references>

Referenční skupinyReference groups

Jako alternativu k jednomu nestrukturovanému seznamu lze odkazy zadat v závislosti na profilu rozhraní cílového projektu pomocí prvků <group> v rámci <references>.As an alternative to a single flat list, references can be specified according to the framework profile of the target project using <group> elements within <references>.

Každá skupina má atribut s názvem targetFramework a obsahuje nula nebo více prvků <reference>.Each group has an attribute named targetFramework and contains zero or more <reference> elements. Tyto odkazy jsou přidány do projektu, pokud je cílová architektura kompatibilní s profilem rozhraní projektu.Those references are added to a project when the target framework is compatible with the project's framework profile.

Element <group> bez atributu targetFramework se používá jako výchozí nebo záložní seznam odkazů.The <group> element without a targetFramework attribute is used as the default or fallback list of references. Přesné identifikátory rozhraní naleznete v tématu cílová rozhraní .See Target frameworks for the exact framework identifiers.

Důležité

Formát skupiny nelze vzájemně kombinovat s nestrukturovaným seznamem.The group format cannot be intermixed with a flat list.

Následující příklad ukazuje různé variace <group> elementu:The following example shows different variations of the <group> element:

<references>
    <group>
        <reference file="a.dll" />
    </group>

    <group targetFramework="net45">
        <reference file="b45.dll" />
    </group>

    <group targetFramework="netcore45">
        <reference file="bcore45.dll" />
    </group>
</references>

Odkazy na sestavení rozhraní .NET FrameworkFramework assembly references

Sestavení rozhraní jsou ta, která jsou součástí rozhraní .NET Framework a měla by již být v globální mezipaměti sestavení (GAC) pro libovolný daný počítač.Framework assemblies are those that are part of the .NET framework and should already be in the global assembly cache (GAC) for any given machine. Určením těchto sestavení v rámci elementu <frameworkAssemblies> balíček může zajistit, aby byly do projektu přidány požadované odkazy v případě, že projekt nemá takové odkazy již.By identifying those assemblies within the <frameworkAssemblies> element, a package can ensure that required references are added to a project in the event that the project doesn't have such references already. Taková sestavení samozřejmě nejsou součástí balíčku přímo.Such assemblies, of course, are not included in a package directly.

Element <frameworkAssemblies> obsahuje nula nebo více prvků <frameworkAssembly>, z nichž každý určuje následující atributy:The <frameworkAssemblies> element contains zero or more <frameworkAssembly> elements, each of which specifies the following attributes:

AtributAttribute PopisDescription
DoplňkassemblyName Požadovanou Plně kvalifikovaný název sestavení.(Required) The fully qualified assembly name.
targetFrameworktargetFramework Volitelné Určuje cílovou architekturu, na kterou se vztahuje tento odkaz.(Optional) Specifies the target framework to which this reference applies. Je-li tento parametr vynechán, znamená to, že odkaz se vztahuje na všechna rozhraní.If omitted, indicates that the reference applies to all frameworks. Přesné identifikátory rozhraní naleznete v tématu cílová rozhraní .See Target frameworks for the exact framework identifiers.

Následující příklad ukazuje odkaz na System.Net pro všechny cílové rozhraní a odkaz na System.ServiceModel pouze pro .NET Framework 4,0:The following example shows a reference to System.Net for all target frameworks, and a reference to System.ServiceModel for .NET Framework 4.0 only:

<frameworkAssemblies>
    <frameworkAssembly assemblyName="System.Net"  />

    <frameworkAssembly assemblyName="System.ServiceModel" targetFramework="net40" />
</frameworkAssemblies>

Zahrnutí souborů sestaveníIncluding assembly files

Pokud budete postupovat podle konvencí popsaných v tématu Vytvoření balíčku, nemusíte explicitně určovat seznam souborů v souboru .nuspec.If you follow the conventions described in Creating a Package, you do not have to explicitly specify a list of files in the .nuspec file. Příkaz nuget pack automaticky převezme potřebné soubory.The nuget pack command automatically picks up the necessary files.

Důležité

Když je balíček nainstalován do projektu, NuGet automaticky přidá odkazy na sestavení do knihoven DLL balíčku, kromě těch, které jsou pojmenovány .resources.dll, protože se předpokládá, že jsou lokalizovaná satelitní sestavení.When a package is installed into a project, NuGet automatically adds assembly references to the package's DLLs, excluding those that are named .resources.dll because they are assumed to be localized satellite assemblies. Z tohoto důvodu Vyhněte použití .resources.dll u souborů, které jinak obsahují základní kód balíčku.For this reason, avoid using .resources.dll for files that otherwise contain essential package code.

Chcete-li obejít toto automatické chování a explicitně řídit, které soubory jsou součástí balíčku, umístěte prvek <files> jako podřízenou položku <package> (a na stejné úrovni <metadata>) a Identifikujte jednotlivé soubory samostatným elementem <file>.To bypass this automatic behavior and explicitly control which files are included in a package, place a <files> element as a child of <package> (and a sibling of <metadata>), identifying each file with a separate <file> element. Příklad:For example:

<files>
    <file src="bin\Debug\*.dll" target="lib" />
    <file src="bin\Debug\*.pdb" target="lib" />
    <file src="tools\**\*.*" exclude="**\*.log" />
</files>

S NuGet 2. x a staršími a projekty, které používají packages.config, se prvek <files> používá také k zahrnutí neměnných souborů obsahu při instalaci balíčku.With NuGet 2.x and earlier, and projects using packages.config, the <files> element is also used to include immutable content files when a package is installed. S NuGet 3.3 + a projekty PackageReference se místo toho použije prvek <contentFiles>.With NuGet 3.3+ and projects PackageReference, the <contentFiles> element is used instead. Podrobnosti najdete v části zahrnutí souborů obsahu níže.See Including content files below for details.

Atributy elementu souboruFile element attributes

Každý prvek <file> určuje následující atributy:Each <file> element specifies the following attributes:

AtributAttribute PopisDescription
srcsrc Umístění souboru nebo souborů, které mají být zahrnuty, v závislosti na vyloučení určených atributem exclude.The location of the file or files to include, subject to exclusions specified by the exclude attribute. Cesta je relativní vzhledem k souboru .nuspec, pokud není zadána absolutní cesta.The path is relative to the .nuspec file unless an absolute path is specified. Zástupný znak * je povolen a dvojitý zástupný znak ** implikuje hledání rekurzivní složky.The wildcard character * is allowed, and the double wildcard ** implies a recursive folder search.
cílovétarget Relativní cesta ke složce v rámci balíčku, kde jsou umístěny zdrojové soubory, které musí začínat lib, content, build nebo tools.The relative path to the folder within the package where the source files are placed, which must begin with lib, content, build, or tools. Viz vytvoření. nuspec z pracovního adresáře založeného na konvencích.See Creating a .nuspec from a convention-based working directory.
slevyexclude Seznam souborů nebo vzorů souborů, které mají být vyloučeny z umístění src, jsou odděleny středníkem.A semicolon-delimited list of files or file patterns to exclude from the src location. Zástupný znak * je povolen a dvojitý zástupný znak ** implikuje hledání rekurzivní složky.The wildcard character * is allowed, and the double wildcard ** implies a recursive folder search.

PříkladyExamples

Jedno sestaveníSingle assembly

Source file:
    library.dll

.nuspec entry:
    <file src="library.dll" target="lib" />

Packaged result:
    lib\library.dll

Samostatné sestavení specifické pro cílovou architekturuSingle assembly specific to a target framework

Source file:
    library.dll

.nuspec entry:
    <file src="assemblies\net40\library.dll" target="lib\net40" />

Packaged result:
    lib\net40\library.dll

Sada knihoven DLL pomocí zástupného znakuSet of DLLs using a wildcard

Source files:
    bin\release\libraryA.dll
    bin\release\libraryB.dll

.nuspec entry:
    <file src="bin\release\*.dll" target="lib" />

Packaged result:
    lib\libraryA.dll
    lib\libraryB.dll

Knihovny DLL pro různé architekturyDLLs for different frameworks

Source files:
    lib\net40\library.dll
    lib\net20\library.dll

.nuspec entry (using ** recursive search):
    <file src="lib\**" target="lib" />

Packaged result:
    lib\net40\library.dll
    lib\net20\library.dll

Vyloučení souborůExcluding files

Source files:
    \tools\fileA.bak
    \tools\fileB.bak
    \tools\fileA.log
    \tools\build\fileB.log

.nuspec entries:
    <file src="tools\*.*" target="tools" exclude="tools\*.bak" />
    <file src="tools\**\*.*" target="tools" exclude="**\*.log" />

Package result:
    (no files)

Zahrnutí souborů obsahuIncluding content files

Soubory obsahu jsou neměnné soubory, které musí balíček zahrnout do projektu.Content files are immutable files that a package needs to include in a project. Neměnné, nejsou určeny pro úpravy nenáročným projektem.Being immutable, they are not intended to be modified by the consuming project. Mezi příklady souborů obsahu patří:Example content files include:

  • Obrázky, které jsou vložené jako prostředkyImages that are embedded as resources
  • Zdrojové soubory, které jsou již kompiloványSource files that are already compiled
  • Skripty, které je potřeba zahrnout do výstupu sestavení projektuScripts that need to be included with the build output of the project
  • Konfigurační soubory balíčku, které je potřeba zahrnout do projektu, ale nevyžadují žádné změny specifické pro projektConfiguration files for the package that need to be included in the project but don't need any project-specific changes

Soubory obsahu jsou zahrnuty v balíčku pomocí elementu <files>, který určuje složku content v atributu target.Content files are included in a package using the <files> element, specifying the content folder in the target attribute. Nicméně tyto soubory jsou ignorovány při instalaci balíčku do projektu pomocí PackageReference, který místo toho používá prvek <contentFiles>.However, such files are ignored when the package is installed in a project using PackageReference, which instead uses the <contentFiles> element.

Pro maximální kompatibilitu s spotřebou projektů balíček v ideálním případě Určuje soubory obsahu v obou prvcích.For maximum compatibility with consuming projects, a package ideally specifies the content files in both elements.

Použití elementu Files pro soubory obsahuUsing the files element for content files

Pro soubory obsahu stačí použít stejný formát jako u souborů sestavení, ale zadejte content jako základní složku v atributu target, jak je znázorněno v následujících příkladech.For content files, simply use the same format as for assembly files, but specify content as the base folder in the target attribute as shown in the following examples.

Základní soubory obsahuBasic content files

Source files:
    css\mobile\style1.css
    css\mobile\style2.css

.nuspec entry:
    <file src="css\mobile\*.css" target="content\css\mobile" />

Packaged result:
    content\css\mobile\style1.css
    content\css\mobile\style2.css

Soubory obsahu s adresářovou strukturouContent files with directory structure

Source files:
    css\mobile\style.css
    css\mobile\wp7\style.css
    css\browser\style.css

.nuspec entry:
    <file src="css\**\*.css" target="content\css" />

Packaged result:
    content\css\mobile\style.css
    content\css\mobile\wp7\style.css
    content\css\browser\style.css

Soubor obsahu specifický pro cílovou architekturuContent file specific to a target framework

Source file:
    css\cool\style.css

.nuspec entry
    <file src="css\cool\style.css" target="Content" />

Packaged result:
    content\style.css

Soubor obsahu byl zkopírován do složky s tečkou v názvuContent file copied to a folder with dot in name

V tomto případě NuGet zjistí, že rozšíření v target neodpovídá rozšíření v src, a proto zpracovává tuto část názvu v target jako složku:In this case, NuGet sees that the extension in target does not match the extension in src and thus treats that part of the name in target as a folder:

Source file:
    images\picture.png

.nuspec entry:
    <file src="images\picture.png" target="Content\images\package.icons" />

Packaged result:
    content\images\package.icons\picture.png

Soubory obsahu bez rozšířeníContent files without extensions

Chcete-li zahrnout soubory bez přípony, použijte zástupné znaky * nebo **:To include files without an extension, use the * or ** wildcards:

Source file:
    flags\installed

.nuspec entry:
    <file src="flags\**" target="flags" />

Packaged result:
    flags\installed

Soubory obsahu s hlubokým umístěním a hlubokou cílovou cestouContent files with deep path and deep target

V tomto případě předpokládá, že vzhledem k příponám souborů ve zdrojové a cílové shodě NuGet předpokládá, že cílem je název souboru, a ne složka:In this case, because the file extensions of the source and target match, NuGet assumes that the target is a file name and not a folder:

Source file:
    css\cool\style.css

.nuspec entry:
    <file src="css\cool\style.css" target="Content\css\cool" />
    or:
    <file src="css\cool\style.css" target="Content\css\cool\style.css" />

Packaged result:
    content\css\cool\style.css

Přejmenování souboru obsahu v balíčkuRenaming a content file in the package

Source file:
    ie\css\style.css

.nuspec entry:
    <file src="ie\css\style.css" target="Content\css\ie.css" />

Packaged result:
    content\css\ie.css

Vyloučení souborůExcluding files

Source file:
    docs\*.txt (multiple files)

.nuspec entry:
    <file src="docs\*.txt" target="content\docs" exclude="docs\admin.txt" />
    or
    <file src="*.txt" target="content\docs" exclude="admin.txt;log.txt" />

Packaged result:
    All .txt files from docs except admin.txt (first example)
    All .txt files from docs except admin.txt and log.txt (second example)

Použití elementu contentFiles pro soubory obsahuUsing the contentFiles element for content files

NuGet 4.0 + s PackageReferenceNuGet 4.0+ with PackageReference

Ve výchozím nastavení balíček umístí obsah do složky contentFiles (viz níže) a nuget pack obsahuje všechny soubory v této složce s použitím výchozích atributů.By default, a package places content in a contentFiles folder (see below) and nuget pack included all files in that folder using default attributes. V takovém případě není nutné do .nuspec vůbec zahrnout uzel contentFiles.In this case it's not necessary to include a contentFiles node in the .nuspec at all.

Chcete-li určit, které soubory jsou zahrnuty, prvek <contentFiles> určuje kolekci prvků <files>, které identifikují přesné soubory.To control which files are included, the <contentFiles> element specifies is a collection of <files> elements that identify the exact files include.

Tyto soubory jsou zadány pomocí sady atributů, které popisují, jak by měly být použity v rámci systému projektu:These files are specified with a set of attributes that describe how they should be used within the project system:

AtributAttribute PopisDescription
includeinclude Požadovanou Umístění souboru nebo souborů, které mají být zahrnuty, v závislosti na vyloučení určených atributem exclude.(Required) The location of the file or files to include, subject to exclusions specified by the exclude attribute. Cesta je relativní vzhledem ke složce contentFiles, pokud není zadána absolutní cesta.The path is relative to the contentFiles folder unless an absolute path is specified. Zástupný znak * je povolen a dvojitý zástupný znak ** implikuje hledání rekurzivní složky.The wildcard character * is allowed, and the double wildcard ** implies a recursive folder search.
slevyexclude Seznam souborů nebo vzorů souborů, které mají být vyloučeny z umístění src, jsou odděleny středníkem.A semicolon-delimited list of files or file patterns to exclude from the src location. Zástupný znak * je povolen a dvojitý zástupný znak ** implikuje hledání rekurzivní složky.The wildcard character * is allowed, and the double wildcard ** implies a recursive folder search.
buildActionbuildAction Akce sestavení, která má být přiřazena položce obsahu pro MSBuild, například Content, None, Embedded Resource, Compile atd. Výchozí hodnota je Compile.The build action to assign to the content item for MSBuild, such as Content, None, Embedded Resource, Compile, etc. The default is Compile.
copyToOutputcopyToOutput Logická hodnota označující, zda se mají kopírovat položky obsahu do výstupní složky Build (nebo Publishing).A Boolean indicating whether to copy content items to the build (or publish) output folder. Výchozí hodnota je false.The default is false.
Flattenflatten Logická hodnota označující, zda se mají kopírovat položky obsahu do jediné složky ve výstupu sestavení (true), nebo pro zachování struktury složek v balíčku (false).A Boolean indicating whether to copy content items to a single folder in the build output (true), or to preserve the folder structure in the package (false). Tento příznak funguje pouze v případě, že příznak copyToOutput je nastaven na hodnotu true.This flag only works when copyToOutput flag is set to true. Výchozí hodnota je false.The default is false.

Při instalaci balíčku NuGet aplikuje podřízené prvky <contentFiles> shora dolů.When installing a package, NuGet applies the child elements of <contentFiles> from top to bottom. Pokud se stejný soubor shoduje s více položkami, uplatní se všechny položky.If multiple entries match the same file then all entries are applied. Pokud dojde ke konfliktu pro stejný atribut, přepíše položka nejvyšší úrovně nižší položky.The top-most entry overrides the lower entries if there is a conflict for the same attribute.

Struktura složky balíčkuPackage folder structure

Projekt balíčku by měl strukturovat obsah pomocí následujícího vzoru:The package project should structure content using the following pattern:

/contentFiles/{codeLanguage}/{TxM}/{any?}
  • codeLanguages může být cs, vb, fs, any nebo malý ekvivalent daného $(ProjectLanguage).codeLanguages may be cs, vb, fs, any, or the lowercase equivalent of a given $(ProjectLanguage)
  • TxM je libovolný moniker platného cílového rozhraní, který podporuje NuGet (viz cílové architektury).TxM is any legal target framework moniker that NuGet supports (see Target frameworks).
  • Ke konci této syntaxe může být připojena jakákoli struktura složky.Any folder structure may be appended to the end of this syntax.

Příklad:For example:

Language- and framework-agnostic:
    /contentFiles/any/any/config.xml

net45 content for all languages
    /contentFiles/any/net45/config.xml

C#-specific content for net45 and up
    /contentFiles/cs/net45/sample.cs

Prázdné složky můžou pomocí . odhlásit poskytnutí obsahu pro určité kombinace jazyka a TxM, například:Empty folders can use . to opt out of providing content for certain combinations of language and TxM, for example:

/contentFiles/vb/any/code.vb
/contentFiles/cs/any/.

Příklad oddílu contentFilesExample contentFiles section

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        ...
        <contentFiles>
            <!-- Embed image resources -->
            <files include="any/any/images/dnf.png" buildAction="EmbeddedResource" />
            <files include="any/any/images/ui.png" buildAction="EmbeddedResource" />

            <!-- Embed all image resources under contentFiles/cs/ -->
            <files include="cs/**/*.png" buildAction="EmbeddedResource" />

            <!-- Copy config.xml to the root of the output folder -->
            <files include="cs/uap/config/config.xml" buildAction="None" copyToOutput="true" flatten="true" />

            <!-- Copy run.cmd to the output folder and keep the directory structure -->
            <files include="cs/commands/run.cmd" buildAction="None" copyToOutput="true" flatten="false" />

            <!-- Include everything in the scripts folder except exe files -->
            <files include="cs/net45/scripts/*" exclude="**/*.exe"  buildAction="None" copyToOutput="true" />
        </contentFiles>
        </metadata>
</package>

Příklady souborů nuspecExample nuspec files

Jednoduchá .nuspec, která neurčuje závislosti nebo souboryA simple .nuspec that does not specify dependencies or files

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>sample</id>
        <version>1.2.3</version>
        <authors>Kim Abercrombie, Franck Halmaert</authors>
        <description>Sample exists only to show a sample .nuspec file.</description>
        <language>en-US</language>
        <projectUrl>http://xunit.codeplex.com/</projectUrl>
        <license type="expression">MIT</license>
    </metadata>
</package>

.nuspec se závislostmiA .nuspec with dependencies

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>sample</id>
        <version>1.0.0</version>
        <authors>Microsoft</authors>
        <dependencies>
            <dependency id="another-package" version="3.0.0" />
            <dependency id="yet-another-package" version="1.0.0" />
        </dependencies>
    </metadata>
</package>

.nuspec se souboryA .nuspec with files

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>routedebugger</id>
        <version>1.0.0</version>
        <authors>Jay Hamlin</authors>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>Route Debugger is a little utility I wrote...</description>
    </metadata>
    <files>
        <file src="bin\Debug\*.dll" target="lib" />
    </files>
</package>

.nuspec se sestaveními architekturyA .nuspec with framework assemblies

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>PackageWithGacReferences</id>
        <version>1.0</version>
        <authors>Author here</authors>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>
            A package that has framework assemblyReferences depending
            on the target framework.
        </description>
        <frameworkAssemblies>
            <frameworkAssembly assemblyName="System.Web" targetFramework="net40" />
            <frameworkAssembly assemblyName="System.Net" targetFramework="net40-client, net40" />
            <frameworkAssembly assemblyName="Microsoft.Devices.Sensors" targetFramework="sl4-wp" />
            <frameworkAssembly assemblyName="System.Json" targetFramework="sl3" />
        </frameworkAssemblies>
    </metadata>
</package>

V tomto příkladu jsou nainstalovány následující pro konkrétní cíle projektu:In this example, the following are installed for specific project targets:

  • . NET4-> System.Web, System.Net.NET4 -> System.Web, System.Net
  • . Profil klienta NET4-> System.Net.NET4 Client Profile -> System.Net
  • Silverlight 3-> System.JsonSilverlight 3 -> System.Json
  • WindowsPhone-> Microsoft.Devices.SensorsWindowsPhone -> Microsoft.Devices.Sensors