Condividi tramite


Creazione di una nuova libreria multipiattaforma per NuGet

La creazione di un progetto libreria multipiattaforma che usa PCL o .NET Standard significa che il nuGet risultante può essere aggiunto a qualsiasi progetto .NET che supporti il profilo di destinazione, inclusi i progetti ASP.NET o le app desktop tramite WinForms, WPF o UWP.

La libreria può contenere solo codice supportato dal profilo PCL o .NET Standard selezionato, nonché da qualsiasi altro oggetto NuGet aggiunto. Ciò è adatto alla logica di business e agli algoritmi che possono essere espressi interamente nella libreria di classi di base .NET.

Viene creato un singolo assembly e integrato in un pacchetto NuGet.

Se in un secondo momento sono necessarie funzionalità specifiche della piattaforma, è possibile aggiungere progetti specifici della piattaforma.

Passaggi per creare un nuGet di libreria multipiattaforma

  1. Selezionare File Nuova soluzione oppure fare clic con il pulsante destro del mouse su una soluzione esistente e scegliere Aggiungi > nuovo progetto>.

  2. Scegliere Libreria multipiattaforma dalla sezione Libreria multipiattaforma>:

    Screenshot shows Choose a template with Multiplatform Library selected.

  3. Immettere un nome e una descrizione e scegliere Single per tutte le piattaforme:

    Screenshot shows values entered for Name, Description, and Implementation.

  4. Completare la procedura guidata. Nella soluzione viene creato un singolo progetto di libreria.

  5. Fare clic con il pulsante destro del mouse sul nuovo progetto di libreria e quindi scegliere Opzioni. La sezione Build General (Build > General ) consente di impostare il framework di destinazione: scegliere un profilo PCL portabile .NET o una versione di .NET Standard:

    Choose PCL or .NET Standard for library type

  6. Nella finestra Opzioni progetto aprire anche la sezione Metadati pacchetto > NuGet e immettere i metadati necessari (nonché i metadati facoltativi):

    Enter required metadata

  7. Fare clic con il pulsante destro del mouse sul progetto di libreria e scegliere Crea pacchetto NuGet (o compilare o distribuire la soluzione) e il file del pacchetto NuGet con estensione nupkg verrà salvato nella cartella /bin/ (Debug o Versione, a seconda della configurazione):

    The NuGet package file will be saved in the bin folder either Debug or Release, depending on configuration

Verifica dell'output

I pacchetti NuGet sono anche file ZIP, quindi è possibile esaminare la struttura interna del pacchetto generato.

Questo screenshot mostra il contenuto di un NuGet basato su PCL: è incluso solo un singolo assembly PCL:

Files contained in the NuGet package

Aggiunta di codice specifico della piattaforma

I progetti basati su PCL e i progetti basati su .NET Standard non possono contenere riferimenti specifici della piattaforma ( ad esempio funzionalità iOS o Android).

Se è necessario espandere un progetto PCL o un progetto .NET Standard esistente per includere codice specifico della piattaforma, è possibile fare clic con il pulsante destro del mouse sul progetto e scegliere Aggiungi aggiungi > implementazione della piattaforma...:

Add platform implementation menu

È possibile aggiungere uno o più progetti di piattaforma alla soluzione e la libreria PCL o .NET Standard esistente può essere convertita facoltativamente in un progetto condiviso:

Add platform options such as iOS, Android, and Shared Project

Dopo la conversione in un progetto condiviso, visitare la sezione Project Options NuGet Package > Reference Assemblies (Assemblyriferimento pacchetto NuGet) > e assicurarsi che tutti i profili necessari siano selezionati (in modo che NuGet continui a essere compatibile con i progetti in cui è stato usato in precedenza).