none
Aplicación demaciado pesada RRS feed

  • Pregunta

  • Hola a todos.

    Ante todo, gracias por las respuestas provistas anteriormente.

    En esta ocación vengo con una consulta que no he podido resolver navegando en la net.

    Mi aplicación, desarrollada en Visual 2010, luego portada a Visual 2015 con devexpress 15, ya pesa mas de 500mb solo el ejecutable!

    Existe alguna forma de por ejemplo, las imágenes de botones, etc, que las albergue en una carpeta y no que las compile directamente?

    Algún vínculo del MSDN que refiera a "alivianar código"?

    Y la segunda consulta que la dejo aquí puesto que es mas de lo mismo, es: mi aplicación usa, tanto librerías de devexpress como otras externas, como puedo moverlas a otra carpeta que no sea la raíz de mi aplicación? por ejemplo: "carpeta_miapp/librerias"

    Desde ya agradezco cualquier consulta que me puedan brindar.

    martes, 23 de mayo de 2017 3:48

Respuestas

  • Tal como lo explicas, no se ve ninguna razón para que mida lo que mide. Si cada vez ocupa más, puede ser que haya algún error en alguno de los componentes que usa y tenga una "fuga" de memoria que vaya añadiendo algo cada vez que compilas. Para tratar de averiguarlo, usa el ILDASM para desensamblar el .exe, y examina lo que te ha generado, a ver si así se descubre qué es lo que ocupa tanto espacio.
    • Marcado como respuesta Alesx de Souza viernes, 26 de mayo de 2017 2:15
    jueves, 25 de mayo de 2017 17:18

Todas las respuestas

  • Es un disparate que una aplicación "pese" 500MB por culpa del código; tendría que ser una cantidad de código gigantesca. Supongo que el problema de tamaño proviene de datos que tienes embebidos dentro del ejecutable, como por ejemplo imágenes. Si es así, puedes hacer una o más DLLs de recursos, y poner ahi esas imágenes. Para ello, construye un proyecto de librería de clases, y mueve a ese proyecto los ficheros .resx que tengas en el proyecto principal con esos recursos. Pon un referencia a ese proyecto desde el proyecto principal, y en los sitios del fuente en donde llames a esos recursos, cámbiales el espacio de nombres para que corresponda con el que se les haya asignado en el proyecto en el que se encuentran. De hecho, podrías cambiar el espacio de nombres en las propiedades del proyecto para que coincida con el del proyecto principal, y así no necesitarás modificar el fuente en éste.

    Para ubicar las librerías externas en otra carpeta que no sea la raiz de la aplicación, se puede poner una sección con los "assemby bindings" dentro del app.config, y dentro del assembly binding poner un <codeBase> que apunte a la ubicación de las librerías, que puede ser una subcarpeta por debajo de la carpeta de tu proyecto: https://msdn.microsoft.com/en-us/library/efs781xb(v=vs.110).aspx

    martes, 23 de mayo de 2017 6:16
  • Gracias por la respuesta Alberto.

    El tema de las imágenes lo pensé, pero de todas formas es raro, ya que imágenes solo existen en algunos iconos de botones e iconos de formularios.

    El tamaño del ejecutable se me vino encima cuando comenzé a trabajar con devexpress con el símple propósito de darle otro look & feel. Ya hoy mi ejecutable tiene un tamaño de 608.043KB

    En terminales con 1gb de ram anda bien, no se cuelga, abre rápido, pero me llama la atención el porqué tan grande el ejecutable. Para que tengas una idea, mi carpeta de recursos solo pesa 16mb, y mi aplicación se compone de formularios que se pasan datos, trabaja con una bd sql, tiene algunos reportes, etc. Nada complicado ni del otro mundo.

    Son 23 formularios, 86 clases, 17 reportes... No se por donde depurar o mirar para ver guats japen.

    Saludos

    jueves, 25 de mayo de 2017 2:56
  • Tal como lo explicas, no se ve ninguna razón para que mida lo que mide. Si cada vez ocupa más, puede ser que haya algún error en alguno de los componentes que usa y tenga una "fuga" de memoria que vaya añadiendo algo cada vez que compilas. Para tratar de averiguarlo, usa el ILDASM para desensamblar el .exe, y examina lo que te ha generado, a ver si así se descubre qué es lo que ocupa tanto espacio.
    • Marcado como respuesta Alesx de Souza viernes, 26 de mayo de 2017 2:15
    jueves, 25 de mayo de 2017 17:18
  • Gracias por tu respuesta! 

    Voy a probar con ILDASM a ver que me dice.

    Muchísimas gracias!

    viernes, 26 de mayo de 2017 2:15