Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Pakete können mit einem weiteren Pakettyp gekennzeichnet werden, um die beabsichtigte Verwendung anzugeben.
Bekannte Pakettypen
DependencyTyp-Pakete fügen Bibliotheken und Anwendungen Build- oder Laufzeit-Assets hinzu und können in jedem Projekttyp installiert werden, vorausgesetzt, sie sind kompatibel.DotnetToolTyppakete sind .NET-Tools, die von der dotnet CLI installiert werden können.MSBuildSdkTyppakete sind MSBuild-Projekt-SDKs, die die Nutzung von Software-Development-Kits vereinfachen.TemplateTyppakete stellen benutzerdefinierte Vorlagen bereit, mit denen Dateien oder Projekte wie eine App, ein Dienst, ein Tool oder eine Klassenbibliothek erstellt werden können.McpServerTyppakete enthalten MCP-Server. Dieser Pakettyp wird immer vomDotnetToolPakettyp begleitet, da ein lokaler MCP-Server als .NET-Tool verteilt wird. Informationen zu MCP-Server und NuGet finden Sie unter MCP-Server in NuGet-Paketen.
Pakete, die nicht mit einem Typ gekennzeichnet sind, einschließlich aller Pakete, die mit früheren Versionen von NuGet erstellt wurden, haben standardmäßig den Typ Dependency.
Note
Unterstützung für Pakettypen wurde in NuGet 3.5 hinzugefügt.
Wenn Sie keinen benutzerdefinierten Pakettyp benötigen, ist es am besten, den Pakettyp nicht explizit festzulegen.
NuGet wird standardmäßig auf den Dependency Typ festgelegt, wenn kein Typ angegeben wird.
Benutzerdefinierte Pakettypen
Sie können Ihr Paket mit einem oder mehreren benutzerdefinierten Pakettypen markieren, wenn die Verwendung nicht den bekannten Pakettypen entspricht.
Stellen Sie sich beispielsweise vor, dass Kunden der Contoso App Erweiterungen installieren können. Die App könnte Erweiterungsautoren benötigen, um den benutzerdefinierten Pakettyp ContosoExtension zu verwenden, um ihre Pakete als richtige Erweiterungen zu identifizieren, die den erforderlichen Konventionen entsprechen.
Warning
Ein Paket mit einem benutzerdefinierten Pakettyp kann von Visual Studio oder nuget.exenicht installiert werden. Weitere Informationen finden Sie unter NuGet/Home#10468 .
Pakettypen können in der Projektdatei festgelegt werden (.csproj):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>ContosoExtension</PackageType>
</PropertyGroup>
</Project>
Pakete mit mehreren beabsichtigten Verwendungen können mithilfe des ; Trennzeichens mit mehreren Pakettypen gekennzeichnet werden:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1;PackageType2</PackageType>
</PropertyGroup>
</Project>
Pakettypen können mit einem , Trennzeichen zwischen dem Pakettyp und dessen Version Zeichenfolge versionsgesteuert werden:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1, 1.0.0.0;PackageType2</PackageType>
</PropertyGroup>
</Project>
Das Format einer Pakettypzeichenfolge entspricht genau einer Paket-ID. Das heißt, ein Pakettyp ist eine nicht auf Groß-/Kleinschreibung achtende Zeichenfolge, die dem regulären Ausdruck ^\w+([_.-]\w+)*$ mit mindestens einem Zeichen und höchstens 100 Zeichen entspricht.
Wenn angegeben, ist die Pakettypversion eine Version Zeichenfolge. Die Pakettypversion ist optional und standardmäßig auf 0.0.