REVISIÓN: En.NET Framework 2.0 Service Pack 1, el método ModuleBuilder.GetTypeToken devuelve un token incorrecto

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): 950986
Síntomas
En Microsoft.NET Framework 2.0 Service Pack 1, el método ModuleBuilder.GetTypeToken devuelve un token incorrecto.

Nota: Este problema no se produce en la versión 2.0 de.NET Framework.

Por ejemplo, el código puede contener la siguiente información.
try            {                AssemblyBuilder assb = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("MyAssembly"), AssemblyBuilderAccess.ReflectionOnly);                ModuleBuilder modb = assb.DefineDynamicModule("MyModule");                Type t = typeof(object).MakeArrayType();                int Token = modb.GetTypeToken(t).Token;                Console.WriteLine("Token of type \"{0}\" is 0x{1}", t.ToString(), Token.ToString("x08"));                Type t2 = modb.ResolveType(Token);                Console.WriteLine("Token 0x{1} resolved to type \"{0}\"", t2.ToString(), Token.ToString("x08"));            }            catch (Exception xcpt)            {                Console.WriteLine("An exception of type {0} occurred:", xcpt.GetType());                Console.WriteLine("{0}", xcpt.Message);                Console.WriteLine("{0}", xcpt.StackTrace);            }
Después de compilar el código, el resultado es similar a lo siguiente:
Token of type "System.Object[]" is 0x01000001An exception of type System.TypeLoadException occurred:Could not load type 'System.Object[]' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.   at System.ModuleHandle.ResolveType(Int32 typeToken, RuntimeTypeHandle* typeInstArgs, Int32 typeInstCount, RuntimeTypeHandle* methodInstArgs, Int32 methodInstCount)   at System.ModuleHandle.ResolveTypeHandle(Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)   at System.Reflection.Module.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)   at System.Reflection.Module.ResolveType(Int32 metadataToken)   at tryfix401752.Program.Main(String[] args) in D:\KB950986\Program.cs:line 26
Solución

Información de la revisión

Ahora hay una revisión compatible de Microsoft. Sin embargo, se pretende corregir el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Esta revisión puede ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere al próximo service pack de.NET Framework 2.0 que contenga este hotfix.

Para resolver este problema inmediatamente, póngase en contacto con los servicios de soporte al cliente de Microsoft para obtener la revisión. Para obtener una lista completa de los números de teléfono de servicios de soporte al cliente de Microsoft e información acerca de los costos de soporte técnico, visite el siguiente sitio Web de Microsoft: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 cuestiones y problemas que no guarden relación con la actualización en cuestión.

Requisitos previos

Debe tener.NET Framework 2.0 Service Pack 1 instalado para aplicar esta revisión.

Requisito de reinicio

No tiene que reiniciar el equipo después de aplicar este hotfix.

Información de reemplazo de revisión

Esta revisión no sustituye a otras revisiones.

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 de 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.
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Mscordacwks.dll2.0.50727.1823822,28008 de abril de 200803:36x86
Mscorlib.dll2.0.50727.18234,345,85608 de abril de 200803:36x86
Mscorwks.dll2.0.50727.18235,852,67208 de abril de 200803:36x86
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
Para obtener más información acerca de la terminología de la actualización de software, 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 utiliza para describir las actualizaciones de software de Microsoft

Advertencia: este artículo se tradujo automáticamente

Ominaisuudet

Artikkelin tunnus: 950986 – Viimeisin tarkistus: 07/03/2015 20:42:00 – Versio: 2.0

Microsoft .NET Framework 2.0

  • kbexpertiseadvanced kbfix kbqfe kbmt KB950986 KbMtes
Palaute