¿Qué es una biblioteca de clases portátil?

109

En MSDN noté una sección sobre a Portable Class Library, en Información de versión.

Vea System.Objectun ejemplo. http://msdn.microsoft.com/en-us/library/system.object.aspx

Hice una breve búsqueda en Google y no pude encontrar nada sobre Portable Class Library. ¿Alguien aquí sabe qué es o dónde puedo encontrar más información al respecto?

mjcopple
fuente
1
Como aviso, agregamos compatibilidad adicional con la biblioteca de clases portátil en Visual Studio 11 Beta que viene la próxima semana.
David Kean

Respuestas:

84

ACTUALIZACIÓN 9 de octubre de 2017: artículo que compara / restringe .NET Core / Std / PCL ACTUALIZACIÓN 23 de noviembre de 2016: artículo de Rick Strahl

ACTUALIZACIÓN 29 de octubre de 2016: .NETStandard 1-> 2 FAQ ACTUALIZACIÓN 19 de octubre de 2016: Esta es la mejor entrevista / video que he visto hasta la fecha sobre .NET Standard 2.0

ACTUALIZACIÓN 27 de septiembre de 2016: la publicación del anuncio de .NET Standard 2.0 tiene más información buena

ACTUALIZACIÓN 6 de junio de 2016: este artículo explica bien cómo el mecanismo de biblioteca .NETStandard reemplaza gran parte de PCL

ACTUALIZACIÓN 10 de julio de 2013: Excelente estado de la publicación de blog de resumen del sindicato PCL de @shanselman con muchos ejemplos concretos, capturas de pantalla y enlaces. Pone cualquier otra respuesta aquí a la sombra.

ACTUALIZACIÓN 20 de mayo de 2013:

ACTUALIZACIÓN 19 de abril de 2013: Excelente y denso resumen de cómo todo se relaciona desde Intellisense hasta el tiempo de ejecución en una publicación de blog de Simon Cooper


Video: Programa del canal 9 de Visual Studio Toolbox, episodio 14 de junio de 2012

Video: Channel 9 Going Deep Show episodio 27 de septiembre de 2011


ACTUALIZACIÓN 11 de septiembre de 2012: Buena publicación de blog de alto nivel con imágenes, diagramas y ejemplos motivadores que muestran cómo MVVM Light y RX lo usan

ACTUALIZACIÓN 11 de abril de 2012: Muy buen artículo de punta a punta de Scott Hanselman que llega al punto en el lenguaje de los desarrolladores muy rápidamente, incluyendo capturas de pantalla aquí (también contiene información muy reveladora de "cómo pensar" y enlaces a ejemplos). También incluye una sección de recursos al final que prácticamente duplica toda esta publicación: D

ACTUALIZACIÓN 9 de julio de 2012: Esta serie de blogs de Mircea Trofin del equipo de desarrollo (una parte hasta ahora) es la cobertura más completa hasta ahora, incluidas capturas de pantalla y matrices detalladas que muestran las características disponibles en sus selecciones si le gustan ese tipo de cosas.


Vea la publicación de blog de anuncio de Portable Library Tools , que comienza: -

El CTP de herramientas de biblioteca portátil agrega una nueva plantilla de proyecto "Biblioteca de clases portátil" a Visual Studio que se puede utilizar para crear bibliotecas de clases en C # y VB que se ejecutan en las diversas plataformas .NET sin volver a compilar.

Se usa para crear una biblioteca de clases que se dirige a múltiples plataformas (especialmente variantes de Silverlight como WP7 y SL4, pero que incluyen XNA en Xbox) a la vez.

Consulte también este artículo de resumen de InfoQ

Consulte también este aviso de publicación .

Para obtener detalles negativos y sucios, consulte Pautas de orientación múltiple para herramientas para código administrado

Ruben Bartelink
fuente
2
me ganó por 27 segundos; p
Marc Gravell
2
@Marc Gravell: No sucede a menudo, ¡uf! - pero ganaste a @Darin si eso te ayuda ...
Ruben Bartelink
4
Muchos detalles geniales, pero creo que esto podría beneficiarse de una explicación simple para alguien que es completamente nuevo en esto.
Lucas
@Lucas Bueno, mis intentos de mantenerlo actualizado lo han convertido en un wiki de la comunidad, así que siéntase libre de editar cualquier cosa que crea que lo explicará de la manera que se sienta útil (el artículo de InfoQ me pareció bueno), pensaron los que están en la parte superior son probablemente los más completos
Ruben Bartelink
1
Sería mejor resumir esos artículos y poner un breve aquí. Actualmente, leído por 40,450 personas, con un promedio de 20 minutos (supongamos) para recorrer los enlaces, significa 561 días perdidos en total.
Zafar
53
  • El proyecto Biblioteca de clases portátil le permite escribir y crear ensamblados administrados que funcionan en más de una plataforma .NET Framework. Puede crear clases que contengan código que desee compartir en muchos proyectos, como la lógica empresarial compartida, y luego hacer referencia a esas clases desde diferentes tipos de proyectos.

  • Portable Library Tools es un nuevo complemento de Visual Studio de Microsoft que le permite crear bibliotecas de C # y Visual Basic que se ejecutan en una variedad de plataformas basadas en .NET sin volver a compilar.

MSDN ahora tiene un buen artículo / documentación . Puede comprobarlo y ver qué se admite en .Portable Class Library Icono de biblioteca de clases portátil


Los siguientes ensamblados están disponibles en un proyecto de biblioteca de clases portátil:

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • System.Xml.dll
  • System.ComponentModel.Composition.dll
  • System.Net.dll
  • System.Runtime.Serialization.dll
  • System.ServiceModel.dll
  • System.Xml.Serialization.dll
  • System.Windows.dll (de Silverlight)

Puede encontrar qué miembros son compatibles con el proyecto de biblioteca de clases portátil en los temas de referencia de la biblioteca de clases de .NET Framework. En la tabla de miembros de una clase, el siguiente icono de Biblioteca de clases portátil aparece junto a los miembros admitidos.

Icono de la biblioteca de clases portátil (Icono de la biblioteca de clases portátil que verá en MSDN Docs).


Para crear un proyecto de biblioteca de clases portátil, debe tener:

1 . Visual Studio 2010 Service Pack 1 (SP1) (instalador de 795 KB, ISO de 1,48 GB )

2 . Herramientas de biblioteca portátiles CTP (1,38 MB)

Después de instalar las actualizaciones anteriores, obtendrá una nueva plantilla de proyecto para la biblioteca de clases portátil:

ingrese la descripción de la imagen aquí

(Contenido anterior tomado de MSDN)

ACTUALIZACIÓN 2014:

Class Library Portable es parte de Visual Studio 2014.

Shekhar_Pro
fuente
Con respecto a la última actualización, no creo que haya un Visual Studio 2014, pero PCL parece estar incluido en Visual Studio 2013. (Al menos la edición comunitaria que tengo)
Jake
7

Es una biblioteca de clases que se puede ejecutar en varias plataformas .

Darin Dimitrov
fuente
¿Puedo enviar mi .csproj portátil a personas que no tienen estas herramientas instaladas?
ácido lisérgico
2
Para ejecutar una aplicación de biblioteca de clases portátil, se debe instalar una actualización para .NET Framework 4 en su máquina. Esta actualización se instala automáticamente con Visual Studio 2010 SP1, por lo que puede ejecutar la aplicación Biblioteca de clases portátil sin más modificaciones en el equipo que utilizó para desarrollar la aplicación. Para ejecutar la aplicación en una computadora diferente, puede instalar la actualización manualmente.
Jowen
2

Documentos me resultó un poco difícil de entender, así que traté de aclarar un poco las cosas aquí.

La biblioteca Portable Class está diseñada para permitir a los programadores crear proyectos que se ejecutarán en múltiples plataformas como Xbox 360, Windows Phone, Silverlight y .NET Framework (4 y superior). esto se hace omitiendo algunas API específicas que no son compatibles con las plataformas de destino elegidas que harán que pierda algunas funciones disponibles de .Net Framework.

Entonces, podemos decir que elegir entre Portable class libraryy Normal class librarydepende de las plataformas de destino de su proyecto. Si desea que su aplicación funcione en Xbox y computadoras de escritorio con sistema operativo Windows, es mejor que ahorre tiempo y use PCL, aparte de esa biblioteca de clases Normal, funcionará bien.

para obtener más información, visite la página de documentación .

Ahora hay una tecnología nueva y de código abierto llamada .Net Standard que desplazará a PCL. .NET Standard resuelve el problema del uso compartido de código para los desarrolladores de .NET en todas las plataformas al brindar todas las API que espera y ama en los entornos que necesita: aplicaciones de escritorio, aplicaciones y juegos móviles y servicios en la nube:

  • .NET Standard es un conjunto de API que todas las plataformas .NET deben implementar. Esto unifica las plataformas .NET y evita una futura fragmentación.
  • .NET Standard 2.0 será implementado por .NET Framework, .NET Core y Xamarin. Para .NET Core, esto agregará muchas de las API existentes que se han solicitado.
  • .NET Standard 2.0 incluye una corrección de compatibilidad para los archivos binarios de .NET Framework, lo que aumenta significativamente el conjunto de bibliotecas a las que puede hacer referencia desde sus bibliotecas .NET Standard.
  • .NET Standard reemplazará a las bibliotecas de clases portátiles (PCL) como la historia de las herramientas para crear bibliotecas .NET multiplataforma.

Puede ver la definición de la API estándar de .NET en el repositorio dotnet / estándar en GitHub.

Referencia

AmiNadimi
fuente