public Paquete Analice(string ruta) { Paquete elPaquete = null; List <Project> losProyectos = null; try { Solution laSolucion = ConstruyaLaSolucion(ruta); elPaquete = new Paquete(); Paquetes.Constructor elConstructorDePaquetes = new Paquetes.Constructor(); elPaquete = elConstructorDePaquetes.Construya(laSolucion); losProyectos = new List <Project>(); Consultante elConsultante = new Consultante(); losProyectos = elConsultante.Consulte(laSolucion); } catch (Exception laExcepcion) { Bitacoras.Registrador elRegistrador = new Bitacoras.Registrador(); elRegistrador.Registre(laExcepcion, "", Componentes.AnalizadorCodigoFuente); } List <Proyecto> losProyectosConvertidos = new List <Proyecto>(); foreach (Project proyectoCompilado in losProyectos) { try { Proyecto proyecto = new Proyecto(); Constructor elConstructor = new Constructor(); proyecto = elConstructor.Construya(proyectoCompilado); var resultadoCompilacion = proyectoCompilado.GetCompilationAsync().Result; proyecto.Clases = ConstruyaLaClase(resultadoCompilacion.SyntaxTrees.ToList(), elPaquete.IdSolucion).ToArray(); losProyectosConvertidos.Add(proyecto); } catch (Exception laExcepcion) { Bitacoras.Registrador elRegistrador = new Bitacoras.Registrador(); elRegistrador.Registre(laExcepcion, elPaquete.IdSolucion, Componentes.AnalizadorCodigoFuente); } } elPaquete.Proyectos = losProyectosConvertidos.ToArray(); return(elPaquete); }