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.0je .