¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Desarrollo multiplataforma con la Biblioteca de clases portable
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Desarrollo multiplataforma con la Biblioteca de clases portable

El tipo de proyecto Biblioteca de clases portable de .NET Framework incluido en Visual Studio sirve para crear aplicaciones multiplataforma y bibliotecas para Microsoft de forma rápida y sencilla.

Las bibliotecas de clases portables reducen el tiempo y el coste empleados en desarrollar y probar código. Use este tipo de proyecto para escribir y compilar ensamblados de .NET Framework portables; a continuación, haga referencia a esos ensamblados desde aplicaciones diseñadas para varias plataformas como, por ejemplo, Windows y Windows Phone.

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. Visual Studio compilará la biblioteca con los ensamblados nuevos, con lo que podrá identificar los cambios que necesita hacer en el código.

En este artículo se trata el desarrollo de aplicaciones en Visual Studio; no obstante, Microsoft también proporciona ensamblados de referencia de la Biblioteca de clases portable que pueden usarse para desarrollar aplicaciones y bibliotecas con otras herramientas como, por ejemplo, Xamarin. Estas aplicaciones y bibliotecas pueden usarse en cualquier runtime basado en .NET Framework en plataformas no pertenecientes a Microsoft. Para obtener más información sobre los ensamblados de referencia, vea la entrada de blog sobre la biblioteca de clases portable (PCL) ahora disponible en todas las plataformas. Para descargar los ensamblados, vea la página sobre ensamblados de referencia de la Biblioteca portable de Microsoft .NET en el Centro de descarga de Microsoft. Para más información sobre cómo usar los ensamblados con Xamarin, vea la entrada de blog sobre bibliotecas NuGet de PCL y .NET ahora habilitadas para Xamarin.

Visual Studio incluye plantillas que sirven para desarrollar con la Biblioteca de clases portable. En función de qué versión de Visual Studio se use, las plantillas y los menús disponibles pueden ser diferentes de los descritos en este artículo.

Nota de precaución Precaución

Visual Studio 2013 Update 2 incluye actualizaciones de las plantillas de la Biblioteca de clases portable. Si en un mismo equipo tiene instalados Visual Studio 2013 y una versión anterior de Visual Studio y, posteriormente, instala la versión Update 2, los cambios en las opciones de Marco de trabajo de destino se aplicarán a ambas versiones de Visual Studio.

En este tema:

Compatibilidad de Visual Studio
Crear un proyecto de Biblioteca de clases portable
Opciones de destino
Cambiar los destinos
Características compatibles
Tipos y miembros compatibles
Diferencias de API en la Biblioteca de clases portable
Usar la Biblioteca de clases portable

La compatibilidad de Visual Studio con la Biblioteca de clases portable depende de la versión de Visual Studio que se use. En algunos casos tendrá todo lo que necesita y en otros necesitará instalar elementos adicionales, tal como se muestra en la tabla siguiente.

SKU de Visual Studio

Compatibilidad para crear una Biblioteca de clases portable

Visual Studio 2010, Professional, Premium o Ultimate

Sí, cuando se instalan las herramientas de biblioteca portable.

Versiones de Visual Studio Express 2010

No.

Visual Studio 2012 Professional, Premium o Ultimate

Sí. Para compatibilidad con teléfonos, instale el Windows Phone SDK 8.0.

Versiones de Visual Studio Express 2012

No.

Visual Studio 2013 Professional, Premium o Ultimate

Sí. Para compatibilidad con Windows Phone 8.1, instale Visual Studio 2013 Update 2.

Visual Studio Express 2013 para Windows

Sí, si instala la última versión de Visual Studio Express, que incluye Update 2, o agrega Visual Studio 2013 Update 2.

Para crear una Biblioteca de clases portable, use una de las plantillas proporcionadas en Visual Studio. Cree un proyecto nuevo y, en el cuadro de diálogo Nuevo proyecto, en Plantillas, seleccione el lenguaje de destino (C# o Visual Basic). Después, seleccione una de las plataformas de destino. En el paso siguiente puede seleccionar más plataformas.

En Visual Studio 2013 Update 2, puede elegir la plantilla Biblioteca de clases (portable) correspondiente al lenguaje y a la plataforma elegidos para crear una Biblioteca de clases portable. Verá esta plantilla para las plataformas siguientes:

  • Aplicaciones de la Tienda

  • Escritorio de Windows

  • Silverlight

Si quiere crear una biblioteca destinada a Windows Phone 8.1 y Windows 8.1 en C#, puede elegir Aplicaciones de la Tienda y luego Biblioteca de clases (portable para aplicaciones universales).

Biblioteca de clases portable para aplicaciones de la Tienda

Esta plantilla selecciona automáticamente Windows 8.1 y Windows Phone 8.1 como destino. Si crea una biblioteca destinada solo a Windows Phone 8.1 o Windows 8.1, puede cambiar y agregar plataformas de destino posteriormente.

Si usa Visual Studio 2012 o Visual Studio 2013 sin Update 2, cree un proyecto nuevo y elija la plantilla Biblioteca de clases portable en Visual C# o Visual Basic.

Seleccionar proyecto de Biblioteca portable

Aparecerá el cuadro de diálogo Agregar biblioteca de clases portable, en el que podrá seleccionar plataformas adicionales. El cuadro de diálogo emitirá advertencias sobre compatibilidad en función de los destinos que seleccione.



Cuadro de diálogo Agregar biblioteca de clases portable en Visual Studio 2013 Update 2

Cuadro de diálogo Cambiar Framework de destino para VS2013

Con independencia de si usa Visual Studio 2012 o Visual Studio 2013, puede seleccionar las plataformas cuando cree un proyecto de Biblioteca de clases portable, o bien puede usar las propiedades del proyecto para modificar las plataformas de destino después de haber creado el proyecto.

Al crear un proyecto de Biblioteca de clases portable, se puede elegir el sistema operativo y la versión de .NET Framework de destino. Si usa Visual Studio 2013 y ha instalado la Update 2 o una versión posterior, puede elegir la plantilla Biblioteca de clases (portable para aplicaciones universales) para crear una Biblioteca de clases portable destinada a Windows 8.1 y Windows Phone 8.1. En la tabla siguiente se muestran los destinos disponibles en función de la versión de Visual Studio que se use.

Opción de destino

Visual Studio 2012

Visual Studio 2013

Visual Studio 2013 Update 2 o una versión posterior

.NET Framework

  • .NET Framework 4 y versiones posteriores

  • .NET Framework 4.0.3 y versiones posteriores

  • .NET Framework 4.5

  • .NET Framework 4 y versiones posteriores

  • .NET Framework 4.0.3 y versiones posteriores

  • .NET Framework 4.5 y versiones posteriores

  • .NET Framework 4.5.1

  • .NET Framework 4

  • .NET Framework 4.0.3

  • .NET Framework 4.5

  • .NET Framework 4.5.1

Windows Phone

  • Windows Phone 7 y versiones posteriores

  • Windows Phone 7.5 y versiones posteriores

  • Windows Phone 8

  • Windows Phone 8

  • Windows Phone Silverlight 8

  • Windows Phone Silverlight 8.1

Para compatibilidad de Windows en tiempo de ejecución y XAML, elija:

  • Windows Phone 8,1

Tienda Windows

  • .NET para aplicaciones de la Tienda Windows

  • Aplicaciones de la Tienda Windows (Windows 8) y versiones posteriores

  • Aplicaciones de la Tienda Windows (Windows 8.1)

  • Windows 8

  • Windows 8,1

Silverlight

  • Silverlight 4 y versiones posteriores

  • Silverlight 5

  • Silverlight 5

  • Silverlight 5

Xbox

  • Xbox 360

N/D

N/D

Si se elige una plantilla de Biblioteca de clases portable, las plataformas predeterminadas se seleccionan automáticamente, pero estos valores predeterminados variarán en función de la versión de Visual Studio que esté instalada y de los destinos que se hayan seleccionado previamente. Las plataformas se pueden cambiar en el momento de crear la Biblioteca de clases portable o después de haber iniciado el desarrollo de una Biblioteca de clases portable.

Si desea cambiar los destinos después de haber creado el proyecto, vaya al Explorador de soluciones, abra el menú contextual del proyecto de Biblioteca de clases portable (no la solución) y elija Propiedades. En la página de propiedades del proyecto, la pestaña Biblioteca muestra las plataformas a las que actualmente va dirigido el proyecto.



Página de propiedades de la Biblioteca de clases portable en Visual Studio 2013 Update 2

Propiedades del proyecto

Para agregar o quitar destinos, elija el botón Cambiar y, a continuación, active y desactive las casillas correspondientes.

Al modificar los destinos, las API que tiene a su disposición para desarrollar el proyecto cambiarán para corresponderse con las opciones seleccionadas. Visual Studio notifica los errores y las advertencias que pueden producirse como resultado del cambio de destinos.

Si desea evaluar la portabilidad de los ensamblados antes de realizar cambios en Visual Studio, puede utilizar el analizador de portabilidad de .NET.

El menú de opciones varía en función de la versión de Visual Studio que se use.



Cuadro de diálogo para el cambio de destinos en Visual Studio 2012

Cambiar destino

En la tabla siguiente se muestran las características que se admiten en las plataformas y las versiones disponibles. En algunos casos Microsoft ha agregado compatibilidad con la versión de un paquete de NuGet, y así se ha indicado. Para obtener más información sobre los paquetes NuGet para .NET Framework, consulte .NET Framework y versiones fuera de banda.

Característica

.NET Framework

Tienda Windows

Tienda de Windows Phone

Windows Phone Silverlight

Silverlight

Xbox 360

4

4.0.3

4.5

8

8.1

8.1

7.5

8

8.1

4

5

Bibliotecas básicas

Compatibilidad con Async

Compresión

Anotaciones de datos

Palabra clave dynamic

HTTPClient

IQueryable

Language-Integrated Query (LINQ)

Managed Extensibility Network (MEF)

Network Class Library (NCL)

Serialización (contrato de datos, XML y JSON)

System.Numerics

Modelos de vista (MVVM)

Windows Communication Foundation (WCF)

API de Windows en tiempo de ejecución

Windows.UI.XAML

XLINQ

➊ Requiere el paquete Microsoft Async
➋ Requiere el paquete Microsoft Compression
➌ Requiere el paquete Microsoft HTTP Client Libraries

Nota de precaución Precaución

Es posible que detecte errores al hacer referencia a los paquetes Microsoft Compression y Microsoft HTTP Client Libraries desde una biblioteca portable usada por una aplicación de Windows Phone Silverlight 8.1. Para más información, vea el tema sobre compatibilidad de plataformas y cambios importantes para aplicaciones de Windows Phone Silverlight 8.1.

Los tipos y miembros disponibles en los proyectos de Biblioteca de clases portable están limitados por varios factores de compatibilidad:

  • Deben compartirse en los destinos seleccionados.

  • Deben comportarse de manera similar en todos esos destinos.

  • No deben ser candidatos para desuso.

  • Deben tener sentido en un entorno portable, especialmente cuando los miembros auxiliares no son portátiles.

Por ejemplo, la Biblioteca de clases portable contiene tipos relacionados con la interfaz de usuario solo cuando el destino es Windows 8.1 y Windows Phone 8.1. También puede encontrar limitaciones si elige como destino plataformas (como Xbox, .NET Framework 4 y Windows Phone 7) que se publicaron antes de la introducción de la Biblioteca de clases portable. .NET Framework publica paquetes a través de NuGet que mejoran la compatibilidad de la Biblioteca de clases portable con algunas de estas plataformas antiguas. Para obtener más información y una lista de paquetes NuGet, consulte .NET Framework y versiones fuera de banda.

Si un miembro es compatible con la Biblioteca de clases portable y con los destinos seleccionados, aparecerá en su proyecto en IntelliSense. Además, el icono de la Biblioteca de clases portable Compatible con la Biblioteca portable aparece en las tablas de miembros, en la Biblioteca de clases de .NET Framework junto a los miembros admitidos. Por ejemplo, la tabla de miembros siguiente muestra que la propiedad Chars de la clase String es compatible con la Biblioteca de clases portable:



Icono de la Biblioteca de clases portable

Icono de miembro compatible

También puede buscar en la sección Información de versión de un tema de referencia una nota que indique si un tipo o miembro se admite en el proyecto de Biblioteca de clases portable:



Ejemplo de información de versiones

Información sobre la versión de la biblioteca portable

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.

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.

Después de compilar el proyecto de Biblioteca de clases portable, haga referencia a él desde otros proyectos. Puede hacer referencia al proyecto o a ensamblados específicos que contengan las clases a las que desea obtener acceso.

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. 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.

Gg597391.collapse_all(es-es,VS.110).gifImplementar una aplicación de la Tienda Windows o de Windows Phone

Cuando cree una aplicación de la Tienda Windows o de Windows Phone que haga referencia a un ensamblado de Biblioteca de clases portable, no necesitará realizar pasos adicionales, ya que el paquete de la aplicación incluye todo lo necesario para implementar la aplicación.

Gg597391.collapse_all(es-es,VS.110).gifImplementar una aplicación de .NET Framework

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. Al especificar esta dependencia, se asegura de que la versión requerida se instala con la aplicación. Si el destino es .NET Framework 4 o una versión posterior, el equipo deberá tener instalado .NET Framework 4 con una actualización, la actualización 4.0.3 para .NET Framework 4, o .NET Framework 4.5.

  • Para crear una dependencia con la implementación ClickOnce: en el Explorador de soluciones, elija el nodo del proyecto que desea publicar. (Este es el proyecto que hace referencia al proyecto de Biblioteca de clases portable). En la barra de menús, seleccione Proyecto, Propiedades y, a continuación, elija la pestaña Publicar. En la página Publicar, elija Requisitos previos. Seleccione la versión requerida de .NET Framework (o la actualización de .NET Framework 4) como requisito previo.

  • Para crear una dependencia con un proyecto de instalación: en el Explorador de soluciones, elija el proyecto de instalación. En la barra de menús, elija Proyecto, Propiedades, Requisitos previos. Seleccione la versión de .NET Framework necesaria como requisito previo.

Para obtener más información sobre cómo implementar aplicaciones de .NET Framework, consulte Guía de implementación de .NET Framework para desarrolladores.

Gg597391.collapse_all(es-es,VS.110).gifImplementar una aplicación basada en Silverlight

Cuando implemente una aplicación basada en Silverlight que haga referencia a un ensamblado de Biblioteca de clases portable, deberá asegurarse de que la versión de runtime mínima necesaria para la aplicación coincide con la versión de destino. Si desea que el destino sea Silverlight 4, la versión debe ser 4.0.60129.0 o posterior. Al establecer la versión incluya <param name="minRuntimeVersion" value="4.0.60129.0" /> en la página web que hospeda la aplicación basada en Silverlight, como sigue:

<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," 
           type="application/x-silverlight-2" width="100%" height="100%">
    <param name="source" value="ClientBin/SilverlightApplication.xap"/>
    <param name="onError" value="onSilverlightError" />
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="4.0.60129.0" />
    <param name="autoUpgrade" value="true" />
    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" 
             style="text-decoration:none">
      <img src=http://go.microsoft.com/fwlink/?LinkId=161376
             alt="Get Microsoft Silverlight" style="border-style:none"/>
    </a>
  </object>
   <iframe id="_sl_historyFrame" 
              style="visibility:hidden;height:0px;width:0px;border:0px">
   </iframe>
</div>

Mostrar:
© 2015 Microsoft