Nastavení typu balíčku NuGet
Balíčky lze označit jedním dalším typem balíčku, aby bylo možné označit jeho zamýšlené použití.
Známé typy balíčků
Dependency
Balíčky typů přidávají do knihoven a aplikací prostředky sestavení nebo za běhu a dají se nainstalovat v libovolném typu projektu (za předpokladu, že jsou kompatibilní).DotnetTool
Balíčky typů jsou nástroje .NET, které lze nainstalovat pomocí rozhraní příkazového řádku dotnet.MSBuildSdk
Balíčky typů jsou sady SDK projektu MSBuild, které zjednodušují používání sad SDK pro vývoj softwaru.Template
Balíčky typů poskytují vlastní šablony , které lze použít k vytváření souborů nebo projektů, jako je aplikace, služba, nástroj nebo knihovna tříd.
Balíčky, které nejsou označené typem, včetně všech balíčků vytvořených s dřívějšími verzemi NuGetu, jsou výchozí pro tento Dependency
typ.
Poznámka:
Podpora typů balíčků byla přidána v NuGetu 3.5.
Pokud vlastní typ balíčku nepotřebujete, je nejlepší ho explicitně nenastavovat .
NuGet se jako výchozí použije Dependency
, pokud není zadán žádný typ.
Vlastní typy balíčků
Balíček můžete označit jedním nebo více vlastními typy balíčků, pokud jeho použití neodpovídá známým typům balíčků.
Představte si například, že zákazníci Contoso
aplikace můžou instalovat rozšíření. Aplikace může vyžadovat, aby autoři rozšíření použili vlastní typ ContosoExtension
balíčku k identifikaci jejich balíčků jako správných rozšíření, která odpovídají požadovaným konvencím.
Upozorňující
Balíček s vlastním typem balíčku nelze nainstalovat pomocí sady Visual Studio ani nuget.exe. Další informace najdete v tématu NuGet/Home#10468 .
Typy balíčků lze nastavit v souboru projektu (.csproj
):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>ContosoExtension</PackageType>
</PropertyGroup>
</Project>
Balíčky s více zamýšlenými použitími je možné označit více typy balíčků pomocí ;
oddělovače:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1;PackageType2</PackageType>
</PropertyGroup>
</Project>
Typy balíčků je možné s použitím oddělovače mezi typem balíčku a jeho Version
řetězcem,
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1, 1.0.0.0;PackageType2</PackageType>
</PropertyGroup>
</Project>
Formát řetězce typu balíčku je přesně stejný jako ID balíčku. To znamená, že typ balíčku je řetězec nerozlišující velká a malá písmena odpovídající regulárnímu výrazu ^\w+([_.-]\w+)*$
, který má alespoň jeden znak a maximálně 100 znaků.
Pokud je k dispozici, verze typu balíčku je Version
řetězec. Verze typu balíčku je volitelná a výchozí hodnota 0.0
je .