Creare una libreria di classi Razor
Un'attività che si eseguirà spesso è la creazione di pacchetti per librerie che possono essere riutilizzate da altri sviluppatori. La creazione di pacchetti NuGet rende semplice per qualsiasi sviluppatore, ovunque si trovi, l'acquisizione e la configurazione appropriata di tutti i riferimenti .NET per le applicazioni.
Nell'unità precedente è stata creato il componente finestra di dialogo modale e lo si è usato nell'applicazione. Si vuole ora riutilizzarlo in altre applicazioni.
In questa unità si apprenderanno i passaggi necessari per configurare una libreria di classi Razor come pacchetto NuGet. Si apprenderà inoltre come inserire la libreria in un pacchetto per la distribuzione mediante 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 agli 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 vengano distribuite insieme alla libreria e vengano aggiornate correttamente quando viene aggiornata la libreria.
È possibile configurare campi che identificano il pacchetto nella finestra di dialogo Proprietà del progetto - Pacchetto di Visual Studio oppure creare le voci direttamente nel file *.csproj.
I quattro campi necessari per creare un pacchetto sono:
Campo | Descrizione | Default value |
---|---|---|
PackageId | Identificatore del pacchetto, univoco nell'intero repository NuGet. | AssemblyName della libreria |
Versione | Numero di versione specifico in formato Principale.Secondaria.Patch[-Suffisso], dove -Suffisso definisce facoltativamente le versioni non definitive. | 1.0.0 |
Autori | Autori del pacchetto. | AssemblyName |
Società | Nome della società responsabile per la creazione e la pubblicazione del pacchetto. | AssemblyName |
Alcuni campi hanno valori predefiniti e potrebbe risultare strano pubblicare un pacchetto con MyFirstLibrary come nome della società. È consigliabile definire esplicitamente questi valori.
Nell'unità precedente si è appreso che il contenuto statico di una libreria di classi Razor è disponibile in _content/[PACKAGE_ID]/
e ora è possibile vedere dove viene configurato il valore PackageId
.
Un file di progetto di esempio con questi valori configurati può avere un aspetto analogo al 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 in modo da generare un pacchetto NuGet selezionando l'opzione Genera pacchetto NuGet durante la compilazione nella finestra di dialogo Proprietà del progetto di Visual Studio o aggiungendo una voce GeneratePackageOnBuild
accanto agli altri campi del pacchetto, come illustrato qui:
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
È possibile configurare molte proprietà facoltative del progetto, tra cui:
- Un valore per
Description
appropriato per la visualizzazione nel repository NuGet - Informazioni sul copyright
- Informazioni sulle licenze
- Icone
- URL del progetto
Per un elenco completo delle proprietà, vedere la documentazione Microsoft nella destinazione del pacchetto MSBuild.
Creare un pacchetto per la libreria
Dopo avere 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 scegliendo il comando Crea pacchetto, oppure nella cartella del progetto eseguendo questo comando:
dotnet pack
Questo comando dotnet pack
genera un pacchetto con valore PackageId e numero di versione e lo posiziona nella cartella di output della compilazione del progetto standard.