REVISIÓN: Aplicaciones personalizadas que usan el Visual Studio para aplicaciones Visual Basic Runtime podrán que no puedan compilar o ejecutar macros

Síntomas

Imagine el siguiente escenario:
  • Crear una aplicación personalizada utilizando el Microsoft.NET Framework 2.0.
  • La aplicación personalizada utiliza el Microsoft Visual Studio para aplicaciones (VSA) de Visual Basic Runtime.
  • Ejecute la aplicación personalizada en un sistema que se ha actualizado para ejecutar una versión posterior de common language runtime (CLR) de.NET Framework de Microsoft.
En este escenario, la aplicación personalizada que se comporte incorrectamente o puede generar errores. Estos problemas se producen cuando intenta compilar macros o cuando intenta ejecutar macros en la aplicación personalizada.

Cuando está desarrollando la aplicación personalizada mediante el uso de VSA, puede experimentar el problema siguiente. Cuando la aplicación personalizada llama al método Microsoft.VisualBasic.Vsa.VsaEngine.Compile , se produce una excepción, el tiempo de ejecución de Visual Basic de VSA al host. El host puede interceptar la excepción y el usuario puede recibir el siguiente mensaje de error:
Se ha intentado cargar un programa con un formato incorrecto. (Excepción de HRESULT: 0x8007000B)
O bien, el host puede pasar por alto la excepción, y puede aparecer uno de los síntomas siguientes:
  • El host se produce un error inesperadamente cuando el usuario intenta ejecutar la macro que el usuario sólo se compila.
  • El host no controla la macro en modo alguno.
En este último caso, el CLR cerrará la aplicación porque la aplicación tenía una excepción no controlada.

Cuando intenta ejecutar macros en la aplicación personalizada, puede experimentar uno o varios de los síntomas siguientes:
  • Recibe un mensaje de error que no puede ser generada o ejecutar una macro.
  • Recibe un mensaje de error que no se puede cargar una macro o un ensamblado.
  • La aplicación host no se inicie o se cierre inesperadamente.
  • Aunque la aplicación host no informa de un error, la macro no se ejecuta y la aplicación parece no han hecho nada.

Causa

Este problema se produce debido a un cambio reciente de diseño en tiempo de ejecución de estación de trabajo CLR (Mscorwks.dll) en la compilación de la versión 2.0 de.NET Framework que es posteriores a 2.0.50727.300. Este cambio introdujo un problema de compatibilidad para el motor en tiempo de ejecución de Visual Basic (Vsavb7rt.dll) que se utiliza por VSA. El problema impide que los ensamblados de ingeniero técnico generado correctamente durante la operación de compilación de la macro.

Este problema puede causar el mensaje de error de excepción que se menciona en la sección "Síntomas" que se devuelven a la aplicación host. La aplicación host puede informar de este error al usuario de alguna manera. Como alternativa, la aplicación host puede producir una excepción y salir inesperadamente.

Nota: Aplicaciones personalizadas que usan el Visual Studio de Microsoft todas las funciones de aplicaciones de Software Development Kit (SDK) y la aplicación.NET Framework 1.1 no experimentan este problema. Este problema sólo se produce en aplicaciones host que utilizan el tiempo de ejecución VSA que se incluye con la versión 2.0 de.NET Framework.

Solución

Información de la revisión



Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Para descargar esta revisión desde MSDN Code Gallery, visite el siguiente sitio Web de Microsoft:


Nota: MSDN Code Gallery muestra los idiomas para los que la revisión está disponible. Si no ve su idioma en la lista, es porque la página de recursos de galería de código no está disponible para ese idioma.


Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:

Requisitos previos

No hay requisitos previos.

Requisito de reinicio

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

Información de archivo

La versión en inglés de esta revisión tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha zona horaria en el elemento de fecha y hora del Panel de Control.
Sistemas operativos anteriores a Windows Vista
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Vsavb7rt.dll8.0.50727.2441,330,68816-Nov-200608:06x86
Windows Vista
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Vsavb7rt.dll8.0.50727.7841,330,68818-May-200714:07x86

Estado

Microsoft ha confirmado que se trata de un error de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft

Propiedades

Id. de artículo: 928208 - Última revisión: 14 ene. 2017 - Revisión: 1

Comentarios