c# - una - Portable Class Library vs. proyecto de biblioteca
programa en c# para una biblioteca (1)
Quiero saber la diferencia entre PCL (Portable Class Library) y una biblioteca normal.
PCL utiliza perfiles con los que se puede determinar qué plataformas y características están disponibles. Ambos pueden generar una DLL que se puede usar en diferentes plataformas. Para un proyecto de biblioteca normal también puede establecer el marco de destino (por ejemplo, .NET 3.5). Xamarin dice que las directivas del compilador #if
solo son adecuadas para proyectos compartidos, lo que significa que no se usan en PCL. Creo que PCL y el proyecto de la biblioteca son muy similares.
Entonces, ¿cuáles son las diferencias cuando se trata de diferentes plataformas móviles?
Las bibliotecas de clases portátiles son independientes de la plataforma. No usan compilación condicional ni código no administrado, no tienen UI adentro (la IU depende de la plataforma). Esto se debe a que PCL debería funcionar en todas las plataformas especificadas que se eligieron como objetivo. Además, la disponibilidad de las características depende de los objetivos seleccionados.
Por lo tanto, un PCL puede ser referenciado por cualquier proyecto cuyo objetivo se especifique en la configuración de PCL. Pero las bibliotecas de otros tipos pueden ser referenciadas solo por proyectos que tienen el mismo objetivo o por subconjuntos superiores de .Net (por ejemplo, las bibliotecas de Silverlight se pueden usar en proyectos de Windows pero no al revés).
Se puede encontrar más información sobre las restricciones y características de PCL en los siguientes enlaces:
- Funcionalidad compartida mediante bibliotecas de clases portátiles
- Desarrollo multiplataforma con la biblioteca de clases portátil
En el primer enlace puede leer sobre lo que es PCL en general. Y en segundo lugar, información sobre objetivos y características.
Espero que esto ayude.
EDITAR: Consulte también ¿Qué es una biblioteca de clases portátil?