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 crear aplicaciones multiplataforma y bibliotecas para las plataformas de Microsoft de forma rápida y fácilmente.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 portables de .NET Framework y, a continuación, hacer referencia a esos ensamblados desde aplicaciones que tienen como destino 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 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 proporcionada 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 nuevo proyecto cuadro de diálogo, 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 el biblioteca de clases (portátil heredada) plantilla.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.

El Agregar biblioteca de clases Portable aparece el cuadro de diálogo.The Add Portable Class Library dialog box appears. Elija dos o más destinos y, a continuación, elija Aceptar.Choose two or more targets, and then choose OK.

Agregar destinos de biblioteca de clases portable en Visual Studio

Cambiar los destinosChange targets

Puede cambiar las plataformas de destino de un proyecto de biblioteca de clases portable al crearlo o después de haber iniciado 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 después de crear el proyecto, en el Explorador de soluciones, abra el menú contextual para el proyecto de biblioteca de clases Portable (no 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, el biblioteca pestaña muestra las plataformas que actualmente dirige el proyecto.On the project properties page, the Library tab shows the platforms that your project currently targets.

Propiedades del proyecto de biblioteca de clases Portable en Visual Studio

Para agregar o quitar destinos, elija el cambio botón 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 .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.

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.

Uso de 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 Windows UniversalDeploy a Universal Windows app

Cuando se crea una aplicación Windows Universal 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 aplicación y se requiere ningún paso adicional.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.

Implementar .NET Framework appDeploy 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 implementación ClickOnce: en el Explorador de soluciones, elija el nodo del proyecto para el 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, elija proyecto > propiedadesy, a continuación, elija el publicar ficha. En el publicar página, 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 el 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, elija proyecto > propiedades > requisitos previos.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 cómo implementar aplicaciones de .NET Framework, vea Deployment Guide for Developers.For more information about deploying .NET Framework apps, see Deployment Guide for Developers.

Vea tambiénSee also