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
.