CORRECCIÓN: En un equipo que tiene instalado .NET Framework 3.5 Service Pack 1, se produce una excepción cuando una aplicación llama al método GetOptionalCustomModifiers o al método GetRequiredCustomModifiers en un objeto ParameterInfo de una interfaz genérica

Se aplica a
.NET Framework 3.5 Service Pack 1

Síntomas

Tiene una aplicación que llama al método GetOptionalCustomModifiers o al método GetRequiredCustomModifiers en el objeto ParameterInfo de una interfaz genérica. Al ejecutar esta aplicación en un equipo que tiene instalado Microsoft .NET Framework 3.5 Service Pack 1 (SP1), se produce una excepción y recibe un mensaje de error similar al siguiente:

Nota

Se produjo una excepción no controlada del tipo 'System.ExecutionEngineException' en mscorlib.dll

Además, el id. de evento 1023 se registra en el registro de aplicaciones. Este evento es similar al siguiente:Event ID 1000 también se puede registrar en el registro de aplicaciones. Este evento es similar al siguiente:

Causa

Este problema se produce debido a un problema en .NET Framework 3.5 SP1.

Resolución

Información de revisiones

Microsoft dispone de una revisión compatible. Sin embargo, esta revisión está pensada para corregir solo el problema que se describe en este artículo. Aplique esta revisión solo a los sistemas que experimentan este problema específico. Esta revisión podría recibir pruebas adicionales. Por lo tanto, si no se ve gravemente afectado por este problema, le recomendamos que espere a la siguiente actualización de software que contiene esta revisión.

Para descargar esta revisión desde la Galería de código de MSDN, visite el siguiente sitio web de Microsoft:

http://code.msdn.microsoft.com/KB957541
Nota La Galería de código de MSDN muestra los idiomas para los que está disponible la revisión. Si no ve su idioma en la lista, es porque la página de recursos de la Galería de códigos no está disponible para ese idioma.

Nota Si se producen problemas adicionales o si es necesario solucionarlos, es posible que deba crear una solicitud de servicio independiente. Los costos de soporte técnico habituales se aplicarán a preguntas y problemas de soporte técnico adicionales que no reúnan los requisitos para esta revisión específica. Para obtener una lista completa de los números de teléfono de atención al cliente y soporte técnico de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio web de Microsoft:

http://support.microsoft.com/contactus/?ws=support Nota Si debe tener esta revisión para Windows Server 2008 o para Windows Vista Service Pack 1, obtenga el 957542 de revisiones en su lugar. El 957542 de revisiones resuelve este problema y está disponible para esos sistemas operativos. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

957542 CORRECCIÓN: En un equipo que ejecuta .NET Framework 3.5 Service Pack 1, el compilador JIT y el generador de imágenes nativas (Ngen.exe) que usan el archivo Mscorjit.dll pueden generar código incorrecto

Requisitos previos

Debe tener instalado .NET Framework 3.5 SP1 para aplicar esta revisión.

Requisito de reinicio

Es posible que tengas que reiniciar el equipo si se usa alguno de los archivos que se actualizan.

Información de reemplazo de revisiones

Esta revisión no reemplaza otras revisiones.

Información de archivo

La versión en inglés de esta revisión tiene los atributos de archivo (o atributos de archivo posteriores) que se enumeran en la tabla siguiente. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). La información del archivo se convertirá a la hora local cuando la vea. Para conocer la diferencia entre la hora UTC y la hora local, use la pestaña Zona horaria del elemento Fecha y hora del Panel de control.

Versiones de Windows 2000, Windows XP y Windows Server 2003 y x86

Nombre del archivo File version Tamaño de archivo Fecha Hora
Mscordacwks.dll 2.0.50727.3068 992,264 16 de septiembre de 2008 13:13
Mscorlib.dll 2.0.50727.3068 4,546,560 16 de septiembre de 2008 13:13
Mscorwks.dll 2.0.50727.3068 5,815,808 16 de septiembre de 2008 13:13

Versiones de Windows 2000, Windows XP y Windows Server 2003 y x64

Nombre del archivo File version Tamaño de archivo Fecha Hora Plataforma
Mscordacwks.dll 2.0.50727.3068 992,264 16 de septiembre de 2008 13:13 x86
Mscorlib.dll 2.0.50727.3068 4,546,560 16 de septiembre de 2008 13:13 x86
Mscorwks.dll 2.0.50727.3068 5,815,808 16 de septiembre de 2008 13:13 x86
Mscordacwks.dll 2.0.50727.3068 1,767,944 16 de septiembre de 2008 10:33 x64
Mscorlib.dll 2.0.50727.3068 4,562,944 16 de septiembre de 2008 10:33 x64
Mscorwks.dll 2.0.50727.3068 10,079,744 16 de septiembre de 2008 10:33 x64

Versiones de Windows 2000, Windows XP y Windows Server 2003, IA-64

Nombre del archivo File version Tamaño de archivo Fecha Hora Plataforma
Mscordacwks.dll 2.0.50727.3068 992,264 16 de septiembre de 2008 13:13 x86
Mscorlib.dll 2.0.50727.3068 4,546,560 16 de septiembre de 2008 13:13 x86
Mscorwks.dll 2.0.50727.3068 5,815,808 16 de septiembre de 2008 13:13 x86
Mscordacwks.dll 2.0.50727.3068 3,087,880 16 de septiembre de 2008 1,044 IA-64
Mscorlib.dll 2.0.50727.3068 4,005,888 16 de septiembre de 2008 1,044 IA-64
Mscorwks.dll 2.0.50727.3068 20,153,856 16 de septiembre de 2008 1,044 IA-64

Estado

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

Más información

Pasos para reproducir el problema

Para reproducir este problema, crea un proyecto de Microsoft Visual C# y, a continuación, ejecuta el siguiente código en un equipo que tenga instalado .NET Framework 3.5 SP1.

using System;
namespace GetCustomModifiersBug
{
    public interface IGenericInterface<T1, T2>
    {
        void GenericIfcMethod<T3>(T3 t3);
    }
    class Program
    {
        static void Main()
        {

                Type ifc = typeof(IGenericInterface<int, int>);
                // Either of the following lines on their own will cause the problem
                ifc.GetMethod("GenericIfcMethod").GetParameters()[0].GetOptionalCustomModifiers();
                ifc.GetMethod("GenericIfcMethod").GetParameters()[0].GetRequiredCustomModifiers();

        }
    }
}

Referencias

Para obtener más información acerca de la terminología relativa a las actualizaciones de software de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

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