Hola!
Hoy es viernes de extensiones, en este caso una muy útil cuando trabajas en soluciones con 50 proyectos, pero solo necesitas tener “loaded” 8. Esta extensión, te permite configurar en [Tools // Options] en Visual Studio, el tipo de estrategia para cargar los proyectos en una solución. La opción por defecto es “DemandLoad”, aunque en mi caso he optado por “LoadIfNeeded”
Veamos un ejemplo donde en una solución hay 6 proyectos con las siguientes relaciones entre sí.
Si solo vamos a trabajar en el proyecto [SlnSample_1] pues no tiene sentido cargar en el IDE los demás proyectos, pues bien al momento de cargar la solución utilizando esta extensión veremos que no hay proyectos cargados en el Solution Explorer.
Al momento de compilar el proyecto [SlnSample_1], solo se cargarán los proyectos relacionados con el mismo.
Como siempre mejor en un video donde vemos como al compilar otro proyecto, solo se cargan las referencias del mismo. Luego los demás proyectos se cargan al momento de seleccionarlos.
Por cierto, la definición oficial para las opciones de carga se define en MSDN en la sección de extensibilidad (link) como:
· PLP_DemandLoad (valor predeterminado): cuando se abre una solución, los proyectos se cargan de forma asincrónica. Si esta prioridad se establece en un proyecto descargado después de que la solución está abierto, el proyecto se carga en el punto inactivo siguiente.
· PLP_BackgroundLoad: cuando se abre una solución, los proyectos se cargan en segundo plano, lo que el usuario tiene acceso a los proyectos mientras se cargan sin tener que esperar hasta que todos los proyectos se cargan.
· PLP_LoadIfNeeded: los proyectos se cargan cuando se tiene acceso a ellos. Un proyecto se obtiene cuando el usuario expande el nodo del proyecto en el explorador de soluciones, cuando se abre un archivo que pertenece al proyecto cuando abra la solución porque está en la lista de documento abierto (almacenado en el archivo de opciones de usuario de la solución), o cuando otro proyecto que se está cargando tiene una dependencia en el proyecto. Este tipo de proyecto automáticamente no está cargado antes de iniciar un proceso de compilación; el administrador de la carga de la solución es responsable de asegurarse de que todos los proyectos necesarios se cargan. Estos proyectos se deben cargar antes de iniciar una buscar y reemplazar en archivos en la solución completa.
· PLP_ExplicitLoadOnly: los proyectos no se cargan a menos que el usuario explícitamente lo solicite. Éste es el caso cuando los proyectos explícitamente se descargan.
Buen fin de semana
Saludos @ Madrid
/El Bruno
References
– Solution Load Manager https://visualstudiogallery.msdn.microsoft.com/fdf5d407-62f9-4588-961a-f7445cbbf0e0/view/Reviews
– MSDN Manage Project Loading in a Solution https://msdn.microsoft.com/en-us/library/ee462384.aspx?f=255&MSPPError=-2147217396





Leave a comment