Sviluppo multipiattaforma con la libreria di classi portabileCross-platform development with the Portable Class Library

Il tipo di progetto libreria di classi portabile in Visual Studio consente di compilare App multipiattaforma e librerie per piattaforme Microsoft, semplice e rapido.The Portable Class Library project type in Visual Studio helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily.

Importante

Poiché i progetti libreria di classi portabile come destinazione solo un subset molto specifico delle implementazioni di .NET, è fortemente sconsigliato l'uso in sviluppo di nuove applicazioni.Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. La sostituzione consigliata è una libreria .NET Standard, che ha come destinazione tutte le implementazioni .NET che supportano una versione specifica di .NET Standard.The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. Per altre informazioni, vedere .NET Standard.For more information, see .NET Standard.

Le librerie di classi portabili consentono di ridurre il tempo e i costi di sviluppo e test del codice.Portable class libraries can help you reduce the time and costs of developing and testing code. Usare questo tipo di progetto per scrivere e compilare assembly .NET Framework portabili e farvi riferimento dalle App destinate a più piattaforme, ad esempio il Framework .NET, iOS o Mac.Use this project type to write and build portable .NET Framework assemblies, and then reference those assemblies from apps that target multiple platforms such as the .NET Framework, iOS, or Mac.

Anche dopo aver creato un progetto Libreria di classi portabile in Visual Studio e aver iniziato lo sviluppo, è possibile modificare le piattaforme di destinazione.Even after you create a Portable Class Library project in Visual Studio and start developing it, you can change the target platforms. Visual Studio compila la libreria con i nuovi assembly, che consente di identificare le modifiche da apportare al codice.Visual Studio compiles your library with the new assemblies, which helps you identify the changes you need to make in your code.

Creare un progetto libreria di classi portabileCreate a Portable Class Library project

Per creare una libreria di classi portabile, usare il modello fornito in Visual Studio.To create a Portable Class Library, use the template provided in Visual Studio. Creare un nuovo progetto (File > nuovo progetto) e la nuovo progetto finestra di dialogo, selezionare il linguaggio di programmazione (Visual c# o Visual Basic).Create a new project (File > New Project), and in the New Project dialog box, select your programming language (Visual C# or Visual Basic). Selezionare quindi il libreria di classi (portabile Legacy) modello.Then, select the Class Library (Legacy Portable) template. Immettere un nome per il progetto e scegliere OK.Enter a name for your project and choose OK.

Il Aggiungi libreria di classi portabile verrà visualizzata la finestra di dialogo.The Add Portable Class Library dialog box appears. Scegliere due o più destinazioni e quindi scegliere OK.Choose two or more targets, and then choose OK.

Aggiungere le destinazioni libreria di classi portabile in Visual Studio

Modificare le destinazioniChange targets

Durante la creazione o dopo aver iniziato lo sviluppo, è possibile modificare le piattaforme di destinazione di un progetto di libreria di classi portabile.You can change the target platforms of a portable class library project when you create it or after you’ve started development. Se si desidera modificare le destinazioni dopo aver creato il progetto, in Esplora soluzioni, aprire il menu di scelta rapida per il progetto di libreria di classi portabile (non sulla soluzione) e quindi scegliere proprietà .If you want to change the targets after you’ve created your project, in Solution Explorer, open the shortcut menu for your Portable Class Library project (not the solution), and then choose Properties. Nella pagina delle proprietà del progetto, il libreria scheda Mostra le piattaforme di destinazione del progetto attualmente.On the project properties page, the Library tab shows the platforms that your project currently targets.

Proprietà del progetto per la libreria di classi portabile in Visual Studio

Per aggiungere o rimuovere destinazioni, scegliere il modifica pulsante, quindi selezionare e deselezionare le caselle di controllo appropriate.To add or remove targets, choose the Change button, and then select and clear the appropriate check boxes.

Quando si modificano le destinazioni, le API disponibili per lo sviluppo del progetto cambiano in base alla selezione.When you change the targets, the APIs that are available to you for developing your project will change to match your selection. Visual Studio segnala gli avvisi e gli errori che possono verificarsi in seguito alla modifica delle destinazioni.Visual Studio reports the errors and warnings that may occur as a result of the targets changing.

Se si vuole valutare la portabilità degli assembly prima di apportare modifiche in Visual Studio, è possibile usare la .NET Portability Analyzer.If you want to evaluate the portability of your assemblies before you make changes in Visual Studio, you can use the .NET Portability Analyzer.

Tipi e membri supportatiSupported types and members

I tipi e i membri disponibili nei progetti Libreria di classi portabile sono limitati da diversi fattori di compatibilità:The types and members that are available in Portable Class Library projects are constrained by several compatibility factors:

  • Devono essere condivisi tra le destinazioni selezionate.They must be shared across the targets you selected.

  • Devono comportarsi in modo analogo tra le destinazioni.The must behave similarly across those targets.

  • Non devono essere candidati per la deprecazione.They must not be candidates for deprecation.

  • Devono essere utili in un ambiente portabile, specialmente quando i membri di supporto non lo sono.They must make sense in a portable environment, especially when supporting members are not portable.

Se un membro è supportato in Libreria di classi portabile e per le destinazioni selezionate, verrà visualizzato nel progetto in IntelliSense.If a member is supported in the Portable Class Library and for your selected targets, it will appear in your project in IntelliSense. Tenere presente, tuttavia, che un'API può essere supportata in Libreria di classi portabile, ma la possibilità di usarla dipende dalle destinazioni selezionate.However, remember that an API may be supported in the Portable Class Library, but whether you can use the API depends on the targets you select.

Differenze tra API in Libreria di classi portabileAPI differences in the Portable Class Library

Per rendere compatibili gli assembly Libreria di classi portabile su tutte le piattaforme supportate, alcuni membri sono stati leggermente modificati in Libreria di classi portabile.To make Portable Class Library assemblies compatible across all supported platforms, some members have been slightly changed in the Portable Class Library.

Usare la libreria di classi portabileUse the Portable Class Library

Dopo avere compilato il progetto Libreria di classi portabile, è sufficiente farvi riferimento da altri progetti.After you build your Portable Class Library project, you just reference it from other projects. È possibile fare riferimento al progetto o ad assembly specifici che contengono le classi a cui si desidera accedere.You can reference either the project or specific assemblies that contain the classes you want to access.

Per eseguire un'app che faccia riferimento a un assembly Libreria di classi portabile, la versione richiesta (o successiva) delle piattaforme di destinazione deve essere installata nel computer.To run an app that references a Portable Class Library assembly, the required version (or later) of the targeted platforms must be installed on your computer. Visual Studio contiene tutti i framework richiesti, quindi è possibile eseguire l'app senza ulteriori modifiche nel computer usato per sviluppare l'app.Visual Studio contains all the required frameworks, so you can run the app without further modification on the computer that you used to develop the app.

Distribuire un'app Windows universaliDeploy a Universal Windows app

Quando si crea un'app Windows universali che fa riferimento a un assembly libreria di classi portabile, tutto il che necessario per distribuire l'app è inclusa nel pacchetto dell'app e non sono altri passaggi necessari.When you create a Universal Windows app that references a Portable Class Library assembly, everything you need to deploy the app is included in the app package, and no further steps are required.

Distribuire .NET Framework appDeploy a .NET Framework app

Quando si distribuisce un'app .NET Framework che fa riferimento a un assembly Libreria di classi portabile, è necessario specificare una dipendenza dalla versione corretta di .NET Framework.When you deploy a .NET Framework app that references a Portable Class Library assembly, you must specify a dependency on the correct version of the .NET Framework. Specificando questa dipendenza, ci si assicura che la versione richiesta per l'app sia installata.By specifying this dependency, you ensure that the required version is installed with your app.

  • Per creare una dipendenza con la distribuzione ClickOnce: Nelle Esplora soluzioni, scegliere il nodo del progetto per il progetto da pubblicare.To create a dependency with ClickOnce deployment: In Solution Explorer, choose the project node for the project you want to publish. (Si tratta del progetto che fa riferimento al progetto Libreria di classi portabile.) Nella barra dei menu, scegliere Project > delle proprietàe quindi scegliere il pubblica scheda. Nel Publish pagina, scegliere prerequisiti.(This is the project that references the Portable Class Library project.) On the menu bar, choose Project > Properties, and then choose the Publish tab. On the Publish page, choose Prerequisites. Selezionare la versione di .NET Framework richiesta come prerequisito.Select the required .NET Framework version as a prerequisite.

  • Per creare una dipendenza con un progetto di installazione: Nelle Esplora soluzioni, scegliere il progetto di installazione.To create a dependency with a setup project: In Solution Explorer, choose the setup project. Nella barra dei menu, scegliere Project > delle proprietà > prerequisiti.On the menu bar, choose Project > Properties > Prerequisites. Selezionare la versione di .NET Framework richiesta come prerequisito.Select the required .NET Framework version as a prerequisite.

Per altre informazioni sulla distribuzione di App .NET Framework, vedere Guida alla distribuzione per gli sviluppatori.For more information about deploying .NET Framework apps, see Deployment Guide for Developers.

Vedere ancheSee also