NuGet paket türü ayarlama

Paketler, kullanım amacını belirtmek için bir paket türü daha ile işaretlenebilir.

Bilinen paket türleri

  • Dependency tür paketleri kitaplıklara ve uygulamalara derleme veya çalışma zamanı varlıkları ekler ve herhangi bir proje türüne yüklenebilir (uyumlu oldukları varsayılarak).

  • DotnetTooltür paketleri, dotnet CLI tarafından yüklenebilen .NET araçlarıdır.

  • MSBuildSdk tür paketleri, yazılım geliştirme setlerini kullanmayı kolaylaştıran MSBuild proje SDK'larıdır.

  • Templatetür paketleri uygulama, hizmet, araç veya sınıf kitaplığı gibi dosyalar veya projeler oluşturmak için kullanılabilecek özel şablonlar sağlar.

NuGet'in önceki sürümleriyle oluşturulan tüm paketler de dahil olmak üzere bir türle işaretlenmemiş paketler, varsayılan olarak türü olarak Dependency kullanılır.

Not

NuGet 3.5'te paket türleri desteği eklendi. Özel paket türüne ihtiyacınız yoksa, paket türünü açıkça ayarlamamak en iyisidir. NuGet, hiçbir tür belirtilmediğinde türü varsayılan olarak Dependency kullanır.

Özel paket türleri

Kullanımı bilinen paket türlerine uymuyorsa paketinizi bir veya daha fazla özel paket türüyle işaretleyebilirsiniz.

Örneğin, uygulama müşterilerinin Contoso uzantıları yükleyebileceğini düşünün. Uygulama, uzantı yazarlarının paketlerini gerekli kurallara uygun uzantılar olarak tanımlamak için özel paket türünü ContosoExtension kullanmasını gerektirebilir.

Uyarı

Özel paket türüne sahip bir paket Visual Studio veya nuget.exe tarafından yüklenemez. Daha fazla bilgi için bkz . NuGet/Home#10468 .

Paket türleri proje dosyasında (.csproj):

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

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

</Project>

Birden çok amaçlanan kullanımı olan paketler sınırlayıcı kullanılarak ; birden çok paket türüyle işaretlenebilir:

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

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

</Project>

Paket türleri, paket türü ile Version dizesi arasında bir , sınırlayıcı kullanılarak sürüm oluşturulabilir:

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

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

</Project>

Paket türü dizesinin biçimi tam olarak paket kimliğine benzer. Yani paket türü, en az bir karakter ve en çok 100 karakter içeren normal ifadeyle ^\w+([_.-]\w+)*$ eşleşen büyük/küçük harfe duyarlı olmayan bir dizedir.

Sağlanırsa, paket türü sürümü bir Version dizedir. Paket türü sürümü isteğe bağlıdır ve varsayılan olarak olarak 0.0ayarlanır.