2011-03-08 22 views
102

En MSDN, noté una sección sobre Portable Class Library, en Información de la versión.¿Qué es una biblioteca de clases portátil?

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

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

+1

Como un mano a mano - que añade soporte de biblioteca de clases portátil adicional en Visual Studio 11 Beta que viene la próxima semana. –

Respuesta

81

y actualización 9 Oct 2017 Article comparing/constrasting .NET Core/Std/PCL ACTUALIZACIÓN Nov 23 de 2016: Article by Rick Strahl

Actualización 29 Oct 2016: .NETStandard 1->2 FAQ Actualización 19 Oct 2016: Este es el best interview/video I've seen to date covering .NET Standard 2.0

ACTUALIZACIÓN Sep 27 de 2016: .NET Standard 2.0 announcement post tiene más buenas info

ACTUALIZACIÓN 06 de junio de 2016: This article explica bien cómo el mecanismo de biblioteca .NETStandard reemplaza a gran parte de PCL

ACTUALIZACIÓN 10 de julio de 2013: excelente estado of the PCL union summary blogpost from @shanselman con un montón de ejemplos concretos, capturas de pantalla y enlaces. Pone cualquier otra respuesta aquí en la sombra.

Actualización 20 de mayo de 2013:

ACTUALIZACIÓN Abr 19 de 2013: Excelente densa resumen de cómo todo se mantiene unido de Intellisense hasta el tiempo de ejecución en un vídeo blog post by Simon Cooper


: Channel 9 Visual Studio Toolbox show episode 14 June 2012

vídeo: Channel 9 Going Deep Show episode 27 Sep 2011


ACTUALIZACIÓN 11 de septiembre de 2012: Good high level blog post with pictures, diagrams and motivating examples showing how MVVM Light and RX use it

ACTUALIZACIÓN 11 de abril de 2012: muy buena end to end piece by Scott Hanselman that gets to the point in dev speak very quickly including screenshots here (también contiene información muy intuitiva sobre 'cómo pensar en ello' y enlaces a muestras). También incluye una sección de recursos al final que prácticamente duplica esta publicación completa: D

ACTUALIZACIÓN 9 de julio de 2012: This blog series by Mircea Trofin of the dev team (one part so far) is the most complete cobertura, incluidas capturas de pantalla y matrices detalladas que muestran las funciones disponibles en sus selecciones si le gusta ese tipo de cosas .


Ver Portable Library Tools anouncement blog post, que comienza: -

las herramientas biblioteca portátil CTP añade una nueva plantilla "portátil de biblioteca de clases" proyecto a Visual Studio que se puede utilizar para crear bibliotecas de clases en C# y VB que se ejecuta en varias plataformas .NET sin volver a compilar.

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

Ver también este InfoQ summary article

Ver también this release notice.

Por abajo y detalles sucios, see Multi-Targeting Guidelines for Tools for Managed Code

+2

me ganó en 27 segundos; p –

+2

@Marc Gravell: no sucede a menudo, ¡uf! - pero ganaste a @Darin si eso es de alguna ayuda ... –

+4

Muchos detalles grandiosos, pero creo que esto podría beneficiarse de una explicación simple para alguien que es completamente nuevo en esto. – Lucas

7

Es una biblioteca de clases que se pueden ejecutar en various platforms.

+0

¿Puedo enviar mi .csproj portátil a personas que no tienen instaladas estas herramientas? –

+2

Para ejecutar una aplicación de Biblioteca de clases portátil, debe instalarse 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 la computadora que utilizó para desarrollar la aplicación. Para ejecutar la aplicación en una computadora diferente, puede instalar la actualización manualmente. – Jowen

51
  • El proyecto de biblioteca de clases portátil que permite escribir y construir ensamblados administrados que trabajan 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 comercial compartida, y luego hacer referencia a esas clases de diferentes tipos de proyectos.

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

MSDN tiene ahora un buen article/documentation on it. Puede verificarlo y ver qué se admite en Portable Class LibraryIcon For Portable Class Library.


Los siguientes conjuntos están disponibles dentro de 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)

Usted puede encontrar que los miembros son apoyados por el proyecto de biblioteca de clases portátiles en los temas de referencia de la biblioteca de clases de .NET Framework. En la tabla de miembros de una clase, el siguiente ícono de Biblioteca de clases portátil aparece junto a los miembros compatibles.

Icon for Portable Class library (icono de la biblioteca de clases portátiles que se verá en MSDN Docs.)


para crear un proyecto de biblioteca de clases portátil es necesario tener:

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

. Portable Library Tools CTP (1.38MB)

después de instalar actualizaciones anteriores tendrán una nueva plantilla de proyecto de biblioteca de clases portátil:

enter image description here

(Por encima de Contenido tomado de MSDN)

ACTUALIZACIÓN 2014:

Class Library Portable es parte de Visual Studio 20 14.

+0

En cuanto 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 de comunidad que tengo) – Jake

0

Encontré documentos un poco difíciles de entender, así que traté de dejar las cosas un poco claras aquí.

La biblioteca de clases portátil 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, lo que hará que pierda algunas características disponibles de .Net Framework.

Por lo tanto, podemos decir que elegir entre Portable class library y Normal class library depende de las plataformas de destino de su proyecto. si desea que su aplicación funcione en computadoras Xbox y de escritorio con el sistema operativo Windows, es mejor que ahorre tiempo y use PCL, aparte de eso, la biblioteca de clases Normal funcionará bien.

para obtener más información, visite documentation page.

Ahora hay una nueva tecnología de código abierto llamada .Net Standard que desplazará PCL. .NET Standard resuelve el problema de código compartido para los desarrolladores .NET en todas las plataformas trayendo todas las API que usted espera y el amor a través de los ambientes que se necesitan: las aplicaciones de escritorio, aplicaciones móviles & juegos y servicios en la nube:

  • .NET Standard es un conjunto de API que todas las plataformas .NET tienen para implementar . Esto unifica las plataformas .NET y previene la 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 .NET Framework binarios, aumentando significativamente el conjunto de bibliotecas que puede referencia de sus bibliotecas .NET Standard.
  • .NET Standard reemplazará Portable Class Libraries (PCL) como la historia de herramientas para construir bibliotecas .NET multiplataforma.

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

Reference

Cuestiones relacionadas