Sdílet prostřednictvím


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.

  • McpServer typové balíčky obsahují servery MCP. Tento typ balíčku je vždy doprovázen typem DotnetTool balíčku, protože místní server MCP je distribuován jako nástroj .NET. Informace o serveru MCP a NuGetu najdete v tématu Servery MCP v balíčcích NuGet.

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.

Note

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 použije Dependency jako výchozí typ, 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.

Warning

Balíček s vlastním typem balíčku nelze nainstalovat pomocí sady Visual Studio nebo nuget.exe. Další informace najdete na 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ů lze verzovat pomocí oddělovače mezi typem balíčku a jeho , řetězcem:Version

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