Impostare un tipo di pacchetto NuGet
I pacchetti possono essere contrassegnati con uno più tipi di pacchetto per indicare l'uso previsto.
Tipi di pacchetto noti
I pacchetti di tipo
Dependency
aggiungono asset in fase di compilazione o di esecuzione ad applicazioni e librerie e possono essere installati in qualsiasi tipo di progetto, presupponendo che siano compatibili.DotnetTool
i pacchetti di tipo sono strumenti .NET che possono essere installati dall'interfaccia della riga di comando dotnet.MSBuildSdk
i pacchetti di tipo sono SDK di progetto MSBuild che semplificano l'uso di software development kit.Template
I pacchetti di tipo forniscono modelli personalizzati che possono essere usati per creare file o progetti come un'app, un servizio, uno strumento o una libreria di classi.
I pacchetti non contrassegnati con un tipo, inclusi tutti i pacchetti creati con versioni precedenti di NuGet, usano il tipo Dependency
per impostazione predefinita.
Nota
Il supporto per i tipi di pacchetto è stato aggiunto in NuGet 3.5.
Se non è necessario un tipo di pacchetto personalizzato, è consigliabile non impostare in modo esplicito il tipo di pacchetto.
Per impostazione predefinita, NuGet viene impostato sul Dependency
tipo quando non viene specificato alcun tipo.
Tipi di pacchetto personalizzati
È possibile contrassegnare il pacchetto con uno o più tipi di pacchetto personalizzati se l'uso non rientra nei tipi di pacchetto noti.
Si supponga, ad esempio, che i clienti dell'app Contoso
possano installare le estensioni. L'app potrebbe richiedere agli autori di estensioni di usare il tipo di ContosoExtension
pacchetto personalizzato per identificare i pacchetti come estensioni appropriate che seguono le convenzioni necessarie.
Avviso
Non è possibile installare un pacchetto con un tipo di pacchetto personalizzato da Visual Studio o da nuget.exe. Per altre informazioni, vedere NuGet/Home#10468 .
I tipi di pacchetto possono essere impostati nel file di progetto (.csproj
):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>ContosoExtension</PackageType>
</PropertyGroup>
</Project>
I pacchetti con più usi previsti possono essere contrassegnati con più tipi di pacchetto usando il ;
delimitatore:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1;PackageType2</PackageType>
</PropertyGroup>
</Project>
I tipi di pacchetto possono essere versionati usando un ,
delimitatore tra il tipo di pacchetto e la relativa Version
stringa:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1, 1.0.0.0;PackageType2</PackageType>
</PropertyGroup>
</Project>
Il formato di una stringa del tipo di pacchetto è esattamente simile a un ID pacchetto. Ovvero, un tipo di pacchetto è una stringa senza distinzione tra maiuscole e minuscole corrispondente all'espressione ^\w+([_.-]\w+)*$
regolare con almeno un carattere e al massimo 100 caratteri.
Se specificato, la versione del tipo di pacchetto è una Version
stringa. La versione del tipo di pacchetto è facoltativa e per impostazione predefinita è 0.0
.