Creare un pacchetto per una libreria di classi Razor
- 3 minuti
Un'attività che spesso è necessario eseguire è la creazione di pacchetti di librerie per il riutilizzo da parte di altri sviluppatori. La creazione di pacchetti NuGet rende semplice per qualsiasi sviluppatore acquisire e configurare correttamente tutti i riferimenti .NET per le applicazioni.
Nell'unità precedente, hai creato il tuo componente del dialogo modale e lo hai usato nella tua applicazione. A questo momento si vuole riutilizzarlo in altre applicazioni.
In questa unità vengono illustrati i passaggi necessari per configurare una libreria di classi Razor come pacchetto NuGet. Si apprenderà anche come creare un pacchetto della libreria per la distribuzione usando un servizio di repository di pacchetti, ad esempio NuGet.org o repository GitHub.
Configurare una libreria di classi Razor per la creazione di pacchetti NuGet
L'ecosistema .NET semplifica la definizione delle proprietà necessarie per consentire ad altri sviluppatori di identificare e usare i componenti. È possibile definire tutte queste proprietà nel file di progetto (*.csproj) della libreria di classi Razor in modo che viaggino con la libreria. Le proprietà vengono quindi aggiornate in modo appropriato quando la libreria viene aggiornata.
È possibile configurare campi che identificano il pacchetto nella finestra di dialogo Proprietà progetto di Visual Studio - Pacchetto oppure è possibile creare voci direttamente nel file *.csproj manualmente.
I quattro campi necessari per creare un pacchetto sono:
| Campo | Descrizione | Valore predefinito |
|---|---|---|
| ID del Pacchetto | Identificatore del pacchetto, univoco nell'intero repository NuGet. | AssemblyName della libreria |
| Versione | Numero di versione specifico nel formato Major.Minor.Patch[-Suffix], dove -Suffix definisce facoltativamente le versioni non definitive. | 1.0.0 |
| Autori | Autori del pacchetto. | AssemblyName |
| Azienda | Nome della società responsabile della creazione e della pubblicazione del pacchetto. | AssemblyName |
Alcuni di questi campi hanno valori predefiniti e potrebbe sembrare divertente pubblicare un pacchetto con un nome della società MyFirstLibrary. È consigliabile definire in modo esplicito questi valori.
Nell'unità precedente si è appreso che il contenuto statico di una libreria di classi Razor è disponibile in _content/[PACKAGE_ID]/e ora viene visualizzato dove è configurato il PackageId valore.
Un file di progetto di esempio con questi valori configurati potrebbe essere simile all'esempio seguente:
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
Quando si compila il progetto, è anche possibile configurarlo per generare un pacchetto NuGet selezionando l'opzione Genera pacchetto NuGet in compilazione nella finestra di dialogo Proprietà progetto di Visual Studio o aggiungendo una GeneratePackageOnBuild voce accanto agli altri campi del pacchetto, come illustrato di seguito:
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
È possibile configurare molte proprietà facoltative del progetto, tra cui:
- Un
Descriptionadatto per la visualizzazione nel repository NuGet - Una nota sul copyright
- Informazioni sulle licenze
- Icone
- URL del progetto
Per un elenco completo delle proprietà, vedere la documentazione Microsoft sulla destinazione del pacchetto MSBuild.
Creare un pacchetto per la libreria
Dopo aver scritto la configurazione della libreria nel file *.csproj , è possibile generare il pacchetto NuGet in Visual Studio facendo clic con il pulsante destro del mouse sul progetto e selezionando il comando Pack o nella cartella del progetto eseguendo il comando seguente:
dotnet pack
Questo dotnet pack comando genera un pacchetto con packageID e numero di versione e lo inserisce nella cartella di output della compilazione del progetto standard.