REVISIÓN: Puede recibir un mensaje de error cuando intenta cerrar una aplicación basada en formularios Windows Forms cuando se ejecuta la aplicación en .NET Framework 2.0

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.

918146
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
Puede recibir un mensaje de error cuando intenta cerrar una aplicación basada en Microsoft Windows Forms. Tenga en cuenta la situación siguiente:
  • Una aplicación basada en Microsoft Windows Forms utiliza información sobre herramientas.
  • La aplicación se está ejecutando en Microsoft .NET Framework 2.0.
En este escenario, puede recibir el siguiente mensaje de error cuando intenta cerrar la aplicación:
System.NullReferenceException: Referencia a objeto no establecida como una instancia de un objeto.
Solución
Ahora hay disponible un hotfix para el que Microsoft proporciona soporte técnico, pero que sólo se diseñó para corregir el problema descrito en este artículo. Aplíquelo sólo a sistemas que experimenten este problema específico. Este hotfix puede ser sometido a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere al próximo Microsoft .NET Framework 2.0 service pack que contenga este hotfix.

Para resolver este problema inmediatamente, póngase en contacto con soporte técnico de Microsoft para obtener la revisión. Para obtener una lista completa de los números de teléfono de los servicios de soporte técnico de Microsoft e información acerca de los costos de soporte, visite el siguiente sitio Web: Nota en casos especiales, los costos derivados normalmente de las llamadas al soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.

Requisitos previos

Debe tener Microsoft .NET Framework 2.0 instalado para aplicar esta revisión.

Requisito de reinicio

No es necesario reiniciar el equipo después de aplicar este hotfix.

Información acerca de la sustitución de la revisión

Este hotfix no sustituye a otros hotfix.

Información de archivo

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 el elemento fecha y hora en el panel de control.
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
System.Windows.Forms.dll2.0.50727.1035,320,70419 De abril de 200614: 56x 86
Solución
Para evitar este problema, incluir el siguiente código como parte del método Dispose de cada formulario que utiliza información sobre herramientas.
If (Not Me.ToolTip1 Is Nothing) ThenMe.ToolTip1.RemoveAll()End IfMe.ToolTip1 = NothingEnd If
por ejemplo, para evitar este problema, siga estos pasos:
  1. Busque el código siguiente en el método Dispose .
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)If disposing ThenIf Not (components Is Nothing) Thencomponents.Dispose()End IfEnd IfMyBase.Dispose(disposing)End Sub
  2. Reemplace el código que encontró en el paso 1 con código que se parece al siguiente código.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)If disposing ThenIf Not (components Is Nothing) Thencomponents.Dispose()End If----- Workaround code -----If (Not Me.ToolTip1 Is Nothing) ThenMe.ToolTip1.RemoveAll()End IfMe.ToolTip1 = Nothing----- Workaround code -----End IfMyBase.Dispose(disposing)End Sub
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:".
Más información
Para obtener más información acerca de la terminología relativa de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Advertencia: este artículo se ha traducido automáticamente

Propiedades

Id. de artículo: 918146 - Última revisión: 01/17/2015 14:24:00 - Revisión: 1.2

  • Microsoft .NET Framework 2.0
  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbpubtypekc KB918146 KbMtes
Comentarios