Reduccion de archivo .exe de la solucion

11/07/2008 - 21:53 por alfonso_C# | Informe spam
Hola el archivo .exe de mi aplicacion pesa alrededor de 10MB. Que tipo
de estrategia debo seguir para reducir el tamaño de este ?. Es posible
colocar la mayoria de formularios en un DLL o algo parecido ?. Gracias
Mil por anticipado. (^_^)

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
12/07/2008 - 08:50 | Informe spam
"alfonso_C#" wrote in message
news:
Hola el archivo .exe de mi aplicacion pesa alrededor de 10MB. Que tipo
de estrategia debo seguir para reducir el tamaño de este ?. Es posible
colocar la mayoria de formularios en un DLL o algo parecido ?. Gracias



Sí, claro. No tienes más que "trocear" el proyecto en varios: uno
principal de tipo "exe" (el que ya tienes) y el resto de tipo "dll"
(librería de clases). A continuación trasladas las clases que quieras
(incluyendo formularios, que al fin y al cabo son clases) desde el proyecto
principal a cualquiera de las DLLs. En el proyecto principal, añades una
Referencia a cada una de las DLLs que sean llamadas desde éste. También es
posible llamar desde una DLL a otra (poniendo la correspondiente
Referencia), pero lo que no puedes hacer es tener referencias cirulares, es
decir, que si la A llama a la B, la B no puede llamar a la A.
Te recomiendo que accedas a las Propiedades de cada proyecto y les pongas
a todos el mismo espacio de nombres predeterminado (al crear el proyecto
Visual Studio le pone un espacio de nombres que se llama igual que el
proyecto). Con esto te ahorras tener que modificar los fuentes para poner en
todas las llamadas hacia otra DLL el espacio de nombres de esa DLL.
Respuesta Responder a este mensaje
#2 alfonso_C#
12/07/2008 - 17:30 | Informe spam
On 12 jul, 02:50, "Alberto Poblacion" <earthling-
wrote:
"alfonso_C#" wrote in message

news:

> Hola el archivo .exe de mi aplicacion pesa alrededor de 10MB. Que tipo
> de estrategia debo seguir para reducir el tamaño de este ?. Es posible
> colocar la mayoria de formularios en un DLL o algo parecido ?. Gracias

   Sí, claro. No tienes más que "trocear" el proyecto en varios: uno
principal de tipo "exe" (el que ya tienes) y el resto de tipo "dll"
(librería de clases). A continuación trasladas las clases que quieras
(incluyendo formularios, que al fin y al cabo son clases) desde el proyecto
principal a cualquiera de las DLLs. En el proyecto principal, añades una
Referencia a cada una de las DLLs que sean llamadas desde éste. También es
posible llamar desde una DLL a otra (poniendo la correspondiente
Referencia), pero lo que no puedes hacer es tener referencias cirulares, es
decir, que si la A llama a la B, la B no puede llamar a la A.
   Te recomiendo que accedas a las Propiedades de cada proyecto y les pongas
a todos el mismo espacio de nombres predeterminado (al crear el proyecto
Visual Studio le pone un espacio de nombres que se llama igual que el
proyecto). Con esto te ahorras tener que modificar los fuentes para poner en
todas las llamadas hacia otra DLL el espacio de nombres de esa DLL.



Gracias, voy a probarlo :)
Respuesta Responder a este mensaje
#3 Jose Alberto
14/07/2008 - 15:20 | Informe spam
Referencia), pero lo que no puedes hacer es tener referencias cirulares,
es decir, que si la A llama a la B, la B no puede llamar a la A.



O sea que no se puede en la DLL Clases1 tener

using Clases2;

y en la DLL Clases2 tener

using Clases1;

Es asi ?
Respuesta Responder a este mensaje
#4 Alberto Poblacion
14/07/2008 - 19:30 | Informe spam
"Jose Alberto" wrote in message
news:%
Referencia), pero lo que no puedes hacer es tener referencias cirulares,
es decir, que si la A llama a la B, la B no puede llamar a la A.



O sea que no se puede en la DLL Clases1 tener

using Clases2;

y en la DLL Clases2 tener

using Clases1;

Es asi ?



No. El "using" se refiere a espacios de nombres, y sí que es
perfectamente lícito que cualquier clase use cualquier espacio de nombres.
Claro que, de forma predeterminada, cada dll que creas utiliza para todas
sus clases un espacio de nombres que coincide con el nombre del proyecto,
que a su vez coincide con el nombre de la dll. Pero nadie te obliga a
mantenerlo en su valor predeterminado.
Respuesta Responder a este mensaje
#5 alfonso_C#
18/07/2008 - 14:41 | Informe spam
On 12 jul, 02:50, "Alberto Poblacion" <earthling-
wrote:
"alfonso_C#" wrote in message

news:

> Hola el archivo .exe de mi aplicacion pesa alrededor de 10MB. Que tipo
> de estrategia debo seguir para reducir el tamaño de este ?. Es posible
> colocar la mayoria de formularios en un DLL o algo parecido ?. Gracias

   Sí, claro. No tienes más que "trocear" el proyecto en varios: uno
principal de tipo "exe" (el que ya tienes) y el resto de tipo "dll"
(librería de clases). A continuación trasladas las clases que quieras
(incluyendo formularios, que al fin y al cabo son clases) desde el proyecto
principal a cualquiera de las DLLs. En el proyecto principal, añades una
Referencia a cada una de las DLLs que sean llamadas desde éste. También es
posible llamar desde una DLL a otra (poniendo la correspondiente
Referencia), pero lo que no puedes hacer es tener referencias cirulares, es
decir, que si la A llama a la B, la B no puede llamar a la A.
   Te recomiendo que accedas a las Propiedades de cada proyecto y les pongas
a todos el mismo espacio de nombres predeterminado (al crear el proyecto
Visual Studio le pone un espacio de nombres que se llama igual que el
proyecto). Con esto te ahorras tener que modificar los fuentes para poner en
todas las llamadas hacia otra DLL el espacio de nombres de esa DLL.



Ok. ya coloque las capas de presentacion, acceso a datos, libreria de
utilidades comunes en varios proyectos de Biblioteca de clases y el
proyecto principal apenas tiene algunos archivos y el codigo Main para
dar comienzo a la aplicacion y aun asi lo unico que he podido hacer
con el .exe es llevarlo a 7.7 MB (de 10 que tenia) alguna sugerencia
de que puede estar sucediendo? . Es necesario que el .exe sea tan
grande cuando toda la funcionalidad de la aplicacion está en las
DLL ?. Mil Gracias por anticipado. (^_^)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida