.NET Framework Client profile ó sku="client"

Con la cantidad de características nuevas (y entretenidas) que trae el SP1 de .NET y Visual Studio 2008 no es de extrañar que alguna de ellas nos pase desapercibidas. Seguro que la mayoría de vosotros sabéis que el SP1 trae mejoras en el rendimiento de WPF, que viene Dynamic Data, Data Services (codename astoria), el entity framework, ASP.NETMVC... pero seguro que a alguno el client profile le pilla por sorpresa :)

¿En qué consiste?

El .NET Framework Client Profile es una distribución del framework optimizada para aplicaciones cliente. Es sencillo, no trae las librerías orientadas a hacer trabajo en el servidor. Esta reducción hace que ocupe tan solo unos 26Mb y haga la instalación, despliegue, etcétera... más rápido y sencillo.

¿Cómo hago que mi aplicación compile utilizando ese framework?

Fácil, fácil... vamos a probarlo. Crea una nueva aplicación WPF, cuando esté creada, en el explorador de soluciones, abre las propiedades del proyecto recién creado y vete a la pestaña de aplicación

image

 

¿Ves el checkbox de "Client-only framework subset" ? Pues márcalo y listo. Estás utilizando el .NET Framework Client Profile.

¿Implicaciones?

El compilador contrastará los assemblies referenciados con una lista para ver si la aplicación cumple con los requisitos del Client Profile. En caso de encontrar un assembly no presente en el Client Profile nos mostrará un warning. Tanto en el explorador de soluciones...

image

como en la vista de errores...

image

 

Además habrá una modificación en el archivo de configuración de la aplicación, incluirá la sigueinte línea

<startup><supportedRuntime version="v2.0.50727" sku="Client" /></startup>

En el caso de que la máquina cliente NO tenga .net instalado, se le pedirá que instale la parte cliente (más ligera y rápida de instalar para empezar a funcionar. Se actualizará a la full más adelante como actualización de la máquina). En caso de que este instalado .NET framework, ignorará la parte de sku="client"

Aquí tenéis el enlace a la lista completa de espacios de nombres que están presentes en el Client Profile

https://msdn.microsoft.com/en-us/library/aa187917.aspx

OJO yo puedo referenciar un assembly que NO este disponible en el Client Profile y luego asegurarme que esta en la máquina cliente de uno u otro modo :)

Happy Hacking!

 

Algunos Recursos

Client Profile Q&A : https://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile.aspx

Comments