REVISIÓN: una pérdida de memoria produce en VisualBasic.VsaEngine al crear varios ensamblados

Seleccione idioma Seleccione idioma
Id. de artículo: 814483 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utiliza Visual Studio para aplicaciones (VSA) en la solución personalizada y compilar ensamblados nuevos que utiliza una instancia de la VisualBasic.VsaEngine, puede ver un aumento de memoria para el conjunto de trabajo de proceso cada vez que se realiza un nuevo ensamblado. La memoria no puede ser reclamada por el host. Por lo tanto, la memoria se "pierde" por el espacio de proceso que realiza la compilación.

El problema no se produce cuando se utiliza el motor de VSA de Microsoft JScript.

Causa

El problema se debe a una combinación de tres pequeños problemas. Estos problemas están relacionados con la capacidad de motor de VSA de Microsoft Visual Basic para compilar los ensamblados que están dentro del proceso de host. Los problemas siguientes se han identificado como causas de la pérdida:
  • Un COM Callable Wrapper (CCW) que se utiliza durante el proceso de compilación entre Microsoft .NET Framework y el compilador nativo de Visual Basic puede conservarse en la memoria. Esto ocurre aunque el objeto es liberado correctamente. Este problema no es específico de VSA. Este problema puede evitarse si se utiliza la revisión que se proporciona y Cerrar se llama en el motor antes de libera el motor.
  • Cuando se realizan símbolos para el ensamblado, el archivo de base de datos de programa (PDB) puede consumir memoria que no es reclamado inmediatamente por el recolector de elementos no utilizados. Si no se requieren símbolos para el código compilado, puede evitar el problema. Establecer GenerateDebugInfo en false antes de llama al método Compile .
  • El proceso de compilación interna puede fallar liberar determinados controladores de en tiempo de ejecución de lenguaje comunes durante el procesamiento del código de Visual Basic. El número de identificadores que se pierden depende del código que se compila. Este problema se ha resuelto por la corrección.

Solución

Información de Service Pack

Para resolver este problema, obtenga el service pack más reciente de Visual Studio.NET. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
837234Lista de errores corregidos en Visual Studio .NET 2002 1

Información de revisiones

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version         Size       File name
   -----------------------------------------------------------------------
   15-Feb-2003  00:25  5.50.4134.600   6,428,040  Vs70_qfem_q814483_en.exe

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:". Este problema se corrigió por primera vez en Visual Studio .NET 2002 1.

Propiedades

Id. de artículo: 814483 - Última revisión: viernes, 07 de abril de 2006 - Versión: 4.1
La información de este artículo se refiere a:
  • Microsoft Visual Studio .NET 2002 Professional
  • Microsoft Visual Studio for Applications SDK 1.0
Palabras clave: 
kbmt kbqfe kbhotfixserver kbvs2002sp1fix kbvs2002sp1sweep kbbug KB814483 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 814483

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com