2008-12-08 14 views
8

Estoy trabajando en un proyecto, en Visual Studio 2008, que actualmente supera los 20 MB. ¿Hay alguna forma de crear un perfil de esa DLL, buscando los principales contribuyentes de este tamaño?Cómo minimizar un tamaño de DLL del proyecto ASP.NET C#?

Sospecho que romperlo en proyectos más pequeños dentro de la solución ayudaría, pero estoy buscando una solución más rápida (aunque no mejor, me temo).

Como nota al margen, estamos obteniendo el error 'Error inesperado al escribir metadatos', que creemos que está relacionado con el tamaño de la DLL. Sin embargo, al reiniciar Visual Studio 2008, el error desaparece. Hasta que aparece más tarde de nuevo, después de algunas reconstrucciones. El espacio en el disco no es un problema.

Respuesta

7

Yowser! ¿Alguna vez has conseguido algunos grandes archivos resx (u otro contenido incrustado) que se están incrustando en el dll? Tal vez tratar esos como contenido externo? Comenzaría mirando los archivos en el árbol del proyecto ... esos 20Mb tienen que venir de algún lugar obvio: gráficos grandes, etc.

+0

+1, de acuerdo. Incluso las asambleas infragísticas monstruosamente enormes son de 2 a 3 MB, como máximo. Me sorprendería si no tuvieras recursos descomunales: imágenes, sonidos, algún tipo de binario de gran tamaño, que te abarrotara. –

+0

Vaya. Lo encontré. Un montón de informes (Crystal Reports) que superan 1Mb cada uno ... – Seiti

+0

Tuve un ensamblaje DAL generado alrededor de 8-9mb una vez, ¡gracias a Dios, nada más! – leppie

0

Microsoft.SharePoint.dll es de 9Mb. Incluso para un producto complejo como SharePoint, las DLL se separan en proyectos separados.

Si tiene un proyecto grande y que nada proviene de los recursos, ¿podría sugerir dividir su proyecto en diferentes conjuntos?

Vi el error exacto que tenía pero en un entorno VS2003 (que Microsoft mostró en support.microsoft.com). Sin embargo, dado que usted está en VS2008, también podría deberse a un problema de espacio en el disco.

¿Ha verificado que todos los discos utilizados por Visual Studio no están llenos/casi llenos?

+0

El disco está casi vacío. Actualizando la pregunta. – Seiti

2

PE Explorer le mostrará los contenidos.

This ¿te pueden ayudar también?

Actualización: Dependency Walker también puede ayudar aquí. Puede ejecutarlo en "Modo perfil", que funciona ejecutando su aplicación y mirándola para ver qué carga.

0

¡Vaya! Encontré un grupo (50+) de enormes plantillas de informes generadas usando Crystal Reports, cada una de ellas alrededor de 1MB.

Todo lo que teníamos que hacer era excluirlos del proyecto.

Cuestiones relacionadas