A través del tiempo, una de las tareas que siempre ha representado pérdidas innecesarias de tiempo al desarrollar, fue buscar en el mundo de componentes y dlls, aquella que estábamos buscando. Recuerdo que era todo un pain in the… (sí… allá) encontrar por ejemplo System.Windows.Forms.DataVisualization.Design. Empezando porque el cuadro de diálogo tardaba mucho en cargar. Segundo, desplazarse por las diversas listas, también tenía bastante delay.

En Microsoft recibimos bastante feedback al respecto, y mejoramos mucho esos tiempos.

Por si fuera poco, gracias a la extensión gratuita para Visual Studio llamada Productivity Power Tools ahora tenemos un cuadro de búsqueda de estos assemblies difíciles de encontrar a mano (ver campo resaltado en azul).

image

Observarán ustedes queridos blog lectores, que también he resaltado un elemento en rojo? Lo habían visto?

Este aviso solo aparece luego del SP1 de Visual Studio 2010. No lo han instalado? Pues junto a las tools de productividad deberían instalarlas ya… en serio, ya!

El aviso es una excelente cura a un mal bastante molesto que teníamos antes del Service Pack originado por la inclusión del .NET Framework Client Profile.

Sucede que con Visual Studio 2008 SP1 se incluyó la posibilidad de desarrollar una aplicación orientada a este Client Profile, que no es más que un subconjunto de .Net mucho más pequeño que la versión completa.

Esto, pensando que muchas veces codificamos aplicaciones de escritorio que no necesitan saber por ejemplo de ASP.NET para funcionar. Por ende, reducimos la cantidad de dependencias que requiere y por ende las máquinas en que instalemos nuestra aplicación no requerirán de todo el Framework .NET, sino de un subconjunto de este, que tan solo pesa 28MB y trae la mayoría de funciones básicas para una aplicación cliente de escritorio.

En realidad es algo muy benéfico para la mayoría de casos, pero el problema es que por defecto, desde VS2008SP1 todos los proyectos de WinForms creados, quedan por defecto orientados al Client Profile, entonces cuando uno quería hacer algo avanzado, como por ejemplo una comunicación desde el Form a un servicio Web sencillo a través del Objeto WebClient, por más que buscara System.Net, no lo encontraba! De pronto a ud. Le pasó y se sintió muy frustrado de no saber por qué era. La razón, es que al estar el proyecto orientado al Client Profile, se filtran las dlls que aparecen en el cuadro de diálogo de agregar referencias y solo se muestran las de este perfil. Entonces la solución era cambiar el profije por ejemplo al Framework 4.0 completo, y ahí sí ya nos comenzaban a aparecer. Pero esta solución solo se hallaba solo después de dar muchas vueltas, “cacharrear” y buscar por todo lado.

Ahora, con agrado les cuento que después del SP1 en VS2010, esta situación ya ha sido solucionada. Aunque por defecto igual, si escoge ud. desarrollar una aplicación de WinForms, esta estará orientada al Client Profile, ahora las DLLs no son filtradas, sino que aparecen en un color gris  especial que las identifica. Si ud. Llega a escoger una de estas DLLs, de inmediato le aparece el aviso que señalé en rojo! Así que esa es la razón de ser de ese aviso: Indicarnos que si escogemos esa dll, estaremos cambiando la orientación de nuestra aplicación desde Client Profile, a usar todo el Framework completo. Esto ya es totalmente intuitivo y no nos deja con la duda de por qué diablos no me aparece la dll que buscaba…

Cuando cerramos el cuadro de diálogo, nos aparece esta confirmación que nos pregunta si en realidad queremos cambiar la orientación del proyecto. Si lo hacemos, todos los archivos abiertos del proyecto se cierran, y luego de esto casi que de inmediato, se produce el cambio, quedando nuestro proyecto listo para usar todo el poder del framework completo:

clip_image003