Bagikan melalui


Mengatur jenis paket NuGet

Paket dapat ditandai dengan satu lagi jenis paket untuk menunjukkan penggunaan yang dimaksudkan.

Jenis paket yang diketahui

  • Dependency paket jenis menambahkan aset build atau run-time ke pustaka dan aplikasi, dan dapat diinstal dalam jenis proyek apa pun (dengan asumsi aset tersebut kompatibel).

  • DotnetTool jenis paket adalah alat .NET yang dapat diinstal oleh dotnet CLI.

  • MSBuildSdk paket jenis adalah SDK proyek MSBuild yang menyederhanakan penggunaan kit pengembangan perangkat lunak.

  • Template paket jenis menyediakan templat kustom yang dapat digunakan untuk membuat file atau proyek seperti aplikasi, layanan, alat, atau pustaka kelas.

Paket tidak ditandai dengan jenis, termasuk semua paket yang dibuat dengan versi NuGet sebelumnya, default ke jenis .Dependency

Catatan

Dukungan untuk jenis paket ditambahkan di NuGet 3.5. Jika Anda tidak memerlukan jenis paket kustom, yang terbaik adalah tidak secara eksplisit mengatur jenis paket. NuGet default ke Dependency jenis ketika tidak ada jenis yang ditentukan.

Jenis paket kustom

Anda dapat menandai paket Anda dengan satu atau beberapa jenis paket kustom jika penggunaannya tidak sesuai dengan jenis paket yang diketahui.

Misalnya, bayangkan pelanggan Contoso aplikasi dapat menginstal ekstensi. Aplikasi ini dapat memerlukan penulis ekstensi untuk menggunakan jenis ContosoExtension paket kustom untuk mengidentifikasi paket mereka sebagai ekstensi yang tepat yang mengikuti konvensi yang diperlukan.

Peringatan

Paket dengan jenis paket kustom tidak dapat diinstal oleh Visual Studio atau nuget.exe. Lihat NuGet/Home#10468 untuk informasi selengkapnya.

Jenis paket dapat diatur dalam file proyek (.csproj):

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

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

</Project>

Paket dengan beberapa penggunaan yang dimaksudkan dapat ditandai dengan beberapa jenis paket menggunakan pemisah ; :

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

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

</Project>

Jenis paket dapat diberi versi menggunakan pemisah , antara jenis paket dan stringnya Version :

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

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

</Project>

Format string jenis paket persis seperti ID paket. Artinya, jenis paket adalah string yang tidak peka huruf besar/kecil yang cocok dengan ekspresi ^\w+([_.-]\w+)*$ reguler yang memiliki setidaknya satu karakter dan paling banyak 100 karakter.

Jika disediakan, versi jenis paket adalah Version string. Versi jenis paket bersifat opsional dan default ke 0.0.