Ustawianie typu pakietu NuGet

Pakiety można oznaczyć jeszcze jednymi typami pakietów, aby wskazać jego przeznaczenie.

Znane typy pakietów

  • Dependency pakiety typu dodają zasoby kompilacji lub środowiska uruchomieniowego do bibliotek i aplikacji i mogą być instalowane w dowolnym typie projektu (przy założeniu, że są one zgodne).

  • DotnetTool pakiety typu to narzędzia platformy .NET, które można zainstalować za pomocą interfejsu wiersza polecenia dotnet.

  • MSBuildSdk Pakiety typów to zestawy SDK projektu MSBuild, które upraszczają korzystanie z zestawów programistycznych.

  • Template Pakiety typów udostępniają szablony niestandardowe, których można użyć do tworzenia plików lub projektów, takich jak aplikacja, usługa, narzędzie lub biblioteka klas.

Pakiety nie są oznaczone typem, w tym wszystkie pakiety utworzone z wcześniejszymi wersjami pakietu NuGet, domyślne dla Dependency typu.

Uwaga

Dodano obsługę typów pakietów w programie NuGet 3.5. Jeśli nie potrzebujesz niestandardowego typu pakietu, najlepiej nie jawnie ustawić typu pakietu. Polecenie NuGet domyślnie określa Dependency typ, gdy nie określono żadnego typu.

Niestandardowe typy pakietów

Możesz oznaczyć pakiet co najmniej jednym typem niestandardowym, jeśli jego użycie nie pasuje do znanych typów pakietów.

Załóżmy na przykład, że klienci Contoso aplikacji mogą instalować rozszerzenia. Aplikacja może wymagać od autorów rozszerzeń używania niestandardowego typu ContosoExtension pakietu w celu zidentyfikowania ich pakietów jako odpowiednich rozszerzeń, które są zgodne z wymaganymi konwencjami.

Ostrzeżenie

Nie można zainstalować pakietu z niestandardowym typem pakietu przez program Visual Studio lub nuget.exe. Aby uzyskać więcej informacji, zobacz NuGet/Home#10468 .

Typy pakietów można ustawić w pliku projektu (.csproj):

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    
    <PackageType>ContosoExtension</PackageType>
  </PropertyGroup>

</Project>

Pakiety z wieloma zamierzonymi zastosowaniami można oznaczyć wieloma typami pakietów przy użyciu ; ogranicznika:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    
    <PackageType>PackageType1;PackageType2</PackageType>
  </PropertyGroup>

</Project>

Typy pakietów można wersjonować przy użyciu ogranicznika między typem , pakietu a jego Version ciągiem:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    
    <PackageType>PackageType1, 1.0.0.0;PackageType2</PackageType>
  </PropertyGroup>

</Project>

Format ciągu typu pakietu jest dokładnie taki jak identyfikator pakietu. Oznacza to, że typ pakietu jest ciągiem bez uwzględniania wielkości liter odpowiadającym wyrażeniu ^\w+([_.-]\w+)*$ regularnemu zawierającemu co najmniej jeden znak i co najwyżej 100 znaków.

Jeśli zostanie podana, wersja typu pakietu jest ciągiem Version . Wersja typu pakietu jest opcjonalna i domyślnie ustawiona na 0.0.