Desarrollo multiplataforma con la biblioteca de clases portableCross-platform development with the Portable Class Library

El tipo de proyecto de biblioteca de clases portable en Visual Studio le ayuda a compilar aplicaciones y bibliotecas multiplataforma para plataformas de Microsoft de forma rápida y sencilla.The Portable Class Library project type in Visual Studio helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily.

Importante

Dado que los proyectos de biblioteca de clases Portable como destino solo un subconjunto muy específico de implementaciones de. NET, se desaconseja encarecidamente su uso en desarrollo de nuevas aplicaciones.Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. El sustituto recomendado es una biblioteca .NET Standard, que tiene como destino todas las implementaciones de .NET que admiten una versión específica de .NET Standard.The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. Para más información, consulte .NET Standard.For more information, see .NET Standard.

Las bibliotecas de clases portables reducen el tiempo y el coste empleados en desarrollar y probar código.Portable class libraries can help you reduce the time and costs of developing and testing code. Use este tipo de proyecto para escribir y compilar ensamblados de .NET Framework portátiles y luego hacer referencia a esos ensamblados desde aplicaciones destinadas a varias plataformas, como .NET Framework, 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.

Puede cambiar de plataforma incluso después de haber creado un proyecto de Biblioteca de clases portable en Visual Studio y de haber empezado a desarrollarlo.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 biblioteca con los nuevos ensamblados, lo que le ayuda a identificar los cambios que debe realizar en el código.Visual Studio compiles your library with the new assemblies, which helps you identify the changes you need to make in your code.

Crear un proyecto de biblioteca de clases portableCreate a Portable Class Library project

Para crear una biblioteca de clases portable, use la plantilla que se proporciona en Visual Studio.To create a Portable Class Library, use the template provided in Visual Studio. Cree un nuevo proyecto (archivo > nuevo proyecto) y, en el cuadro de diálogo nuevo proyecto , seleccione el lenguaje de programación (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). A continuación, seleccione la plantilla biblioteca de clases (Legacy portable) .Then, select the Class Library (Legacy Portable) template. Escriba un nombre para el proyecto y elija Aceptar.Enter a name for your project and choose OK.

Aparece el cuadro de diálogo Agregar biblioteca de clases portable .The Add Portable Class Library dialog box appears. Elija dos o más destinos y, después, elija Aceptar.Choose two or more targets, and then choose OK.

Agregar destinos de biblioteca de clases portable en Visual Studio

Cambiar destinosChange targets

Puede cambiar las plataformas de destino de un proyecto de biblioteca de clases portable cuando se crea o cuando se inicia el desarrollo.You can change the target platforms of a portable class library project when you create it or after you've started development. Si desea cambiar los destinos una vez creado el proyecto, en Explorador de soluciones, abra el menú contextual del proyecto de biblioteca de clases portable (no de la solución) y, a continuación, elija propiedades.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. En la página de propiedades del proyecto, la pestaña biblioteca muestra las plataformas a las que el proyecto está destinado actualmente.On the project properties page, the Library tab shows the platforms that your project currently targets.

Propiedades del proyecto para la biblioteca de clases portable en Visual Studio

Para agregar o quitar destinos, elija el botón cambiar y, a continuación, Active y desactive las casillas correspondientes.To add or remove targets, choose the Change button, and then select and clear the appropriate check boxes.

Al modificar los destinos, las API que tiene a su disposición para desarrollar el proyecto cambiarán para corresponderse con las opciones seleccionadas.When you change the targets, the APIs that are available to you for developing your project will change to match your selection. Visual Studio notifica los errores y las advertencias que pueden producirse como resultado del cambio de destinos.Visual Studio reports the errors and warnings that may occur as a result of the targets changing.

Si desea evaluar la portabilidad de los ensamblados antes de realizar cambios en Visual Studio, puede usar el analizador de portabilidad de .net.If you want to evaluate the portability of your assemblies before you make changes in Visual Studio, you can use the .NET Portability Analyzer.

Tipos y miembros compatiblesSupported types and members

Los tipos y miembros disponibles en los proyectos de Biblioteca de clases portable están limitados por varios factores de compatibilidad:The types and members that are available in Portable Class Library projects are constrained by several compatibility factors:

  • Deben compartirse en los destinos seleccionados.They must be shared across the targets you selected.

  • Deben comportarse de manera similar en todos esos destinos.The must behave similarly across those targets.

  • No deben ser candidatos para desuso.They must not be candidates for deprecation.

  • Deben tener sentido en un entorno portable, especialmente cuando los miembros auxiliares no son portátiles.They must make sense in a portable environment, especially when supporting members are not portable.

Si un miembro es compatible con la Biblioteca de clases portable y con los destinos seleccionados, aparecerá en su proyecto en IntelliSense.If a member is supported in the Portable Class Library and for your selected targets, it will appear in your project in IntelliSense. No obstante, recuerde que una API puede ser compatible con la Biblioteca de clases portable, pero si esa API se puede usar dependerá de los destinos que se seleccionen.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.

Diferencias de API en la Biblioteca de clases portableAPI differences in the Portable Class Library

Para que los ensamblados de la Biblioteca de clases portable sean compatibles en todas las plataformas admitidas, algunos miembros se han modificado ligeramente en la Biblioteca de clases portable.To make Portable Class Library assemblies compatible across all supported platforms, some members have been slightly changed in the Portable Class Library.

Usar la biblioteca de clases portableUse the Portable Class Library

Después de compilar el proyecto de Biblioteca de clases portable, haga referencia a él desde otros proyectos.After you build your Portable Class Library project, you just reference it from other projects. Puede hacer referencia al proyecto o a ensamblados específicos que contengan las clases a las que desea obtener acceso.You can reference either the project or specific assemblies that contain the classes you want to access.

Para ejecutar una aplicación que haga referencia a un ensamblado de Biblioteca de clases portable, debe estar instalada en el equipo la versión requerida (o una versión posterior) de las plataformas de destino.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 todos los marcos necesarios para poder ejecutar la aplicación sin modificaciones adicionales en el equipo que utilizó para desarrollar la aplicación.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.

Implementar una aplicación universal de WindowsDeploy a Universal Windows app

Al crear una aplicación universal de Windows que hace referencia a un ensamblado de biblioteca de clases portable, todo lo que necesita para implementar la aplicación se incluye en el paquete de la aplicación y no es necesario realizar más pasos.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.

Implementación de una aplicación .NET FrameworkDeploy a .NET Framework app

Cuando implemente una aplicación de .NET Framework que haga referencia a un ensamblado de Biblioteca de clases portable, especifique una dependencia en la versión correcta de .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. Al especificar esta dependencia, se asegura de que la versión requerida se instala con la aplicación.By specifying this dependency, you ensure that the required version is installed with your app.

  • Para crear una dependencia con la implementación ClickOnce: en Explorador de soluciones, elija el nodo del proyecto que desea publicar.To create a dependency with ClickOnce deployment: In Solution Explorer, choose the project node for the project you want to publish. (Este es el proyecto que hace referencia al proyecto de biblioteca de clases portable). En la barra de menús, Projectelija > propiedadesdel proyecto y, a continuación, elija la pestaña publicar . En la página publicar , elija requisitos previos.(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. Seleccione la versión de .NET Framework necesaria como requisito previo.Select the required .NET Framework version as a prerequisite.

  • Para crear una dependencia con un proyecto de instalación: en Explorador de soluciones, elija el proyecto de instalación.To create a dependency with a setup project: In Solution Explorer, choose the setup project. En la barra de menús, Projectelija > Properties > requisitos previosde las propiedades del proyecto.On the menu bar, choose Project > Properties > Prerequisites. Seleccione la versión de .NET Framework necesaria como requisito previo.Select the required .NET Framework version as a prerequisite.

Para obtener más información sobre la implementación de .NET Framework aplicaciones, consulte la Guía de implementación para desarrolladores.For more information about deploying .NET Framework apps, see Deployment Guide for Developers.

Consulte tambiénSee also