CORRECTIF : Sur un ordinateur sur lequel.NET Framework 3.5 Service Pack 1 installé, une exception est levée lorsqu’une application appelle la méthode GetOptionalCustomModifiers ou la méthode GetRequiredCustomModifiers sur l’objet ParameterInfo d’une interface générique

Symptômes

Vous avez une application qui appelle la méthode GetOptionalCustomModifiers ou la méthode GetRequiredCustomModifiers sur l’objet ParameterInfo d’une interface générique. Lorsque vous exécutez cette application sur un ordinateur qui possède le Microsoft.NET Framework 3.5 Service Pack 1 (SP1) est installé, une exception est levée, et vous recevez un message d’erreur semblable au suivant :
Une exception non gérée du type 'System.ExecutionEngineException' s’est produite dans mscorlib.dll
En outre, l’événement ID 1023 est enregistré dans le journal d’Application. Cet événement est semblable à la suivante : l’événement ID 1000 peut également être consigné dans le journal d’Application. Cet événement est similaire à la suivante :

Cause

Ce problème se produit en raison d’un problème dans le.NET Framework 3.5 SP1.

Résolution

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Pour télécharger ce correctif depuis MSDN Code Gallery, visitez le site Web de Microsoft à l’adresse suivante :


Remarque MSDN Code Gallery affiche les langues pour lesquelles ce correctif est disponible. Si vous ne voyez pas votre langue, c'est certainement dû au fait que la page de ressource Code Gallery n'existe pas dans cette langue.


Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :

Remarque Si vous devez disposer de ce correctif pour Windows Server 2008 ou Windows Vista Service Pack 1, procurez-vous le correctif 957542 à la place. Correctif logiciel 957542 résout ce problème et est disponible pour ces systèmes d’exploitation. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

957542 correctif : sur un ordinateur qui exécute Microsoft.NET Framework 3.5 Service Pack 1, le compilateur JIT et le Générateur d’images natives (Ngen.exe) qui utilisent le fichier Mscorjit.dll peuvent générer du code incorrect

Conditions préalables

Vous devez avoir le.NET Framework 3.5 Service Pack 1 pour appliquer ce correctif.

Nécessite un redémarrage

Vous devrez peut-être redémarrer l’ordinateur si les fichiers qui sont mis à jour sont utilisées.

Informations de remplacement du correctif

Ce correctif ne remplace aucun autre correctif.

Informations sur les fichiers

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.
Windows 2000, Windows XP et Windows Server 2003, x86 les versions
Nom de fichierVersion de fichierTaille du fichierDateHeure
Mscordacwks.dll2.0.50727.3068992,26416-Sep-200813:13
Mscorlib.dll2.0.50727.30684,546,56016-Sep-200813:13
Mscorwks.dll2.0.50727.30685,815,80816-Sep-200813:13
Windows 2000, Windows XP et Windows Server 2003, x64 les versions
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Mscordacwks.dll2.0.50727.3068992,26416-Sep-200813:13x86
Mscorlib.dll2.0.50727.30684,546,56016-Sep-200813:13x86
Mscorwks.dll2.0.50727.30685,815,80816-Sep-200813:13x86
Mscordacwks.dll2.0.50727.30681,767,94416-Sep-200810:33x64
Mscorlib.dll2.0.50727.30684,562,94416-Sep-200810:33x64
Mscorwks.dll2.0.50727.306810,079,74416-Sep-200810:33x64
Windows 2000, Windows XP et Windows Server 2003, les versions IA-64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Mscordacwks.dll2.0.50727.3068992,26416-Sep-200813:13x86
Mscorlib.dll2.0.50727.30684,546,56016-Sep-200813:13x86
Mscorwks.dll2.0.50727.30685,815,80816-Sep-200813:13x86
Mscordacwks.dll2.0.50727.30683,087,88016-Sep-200810:44IA-64
Mscorlib.dll2.0.50727.30684,005,88816-Sep-200810:44IA-64
Mscorwks.dll2.0.50727.306820,153,85616-Sep-200810:44IA-64

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Procédure pour reproduire le problème

Pour reproduire ce problème, créez un projet Microsoft Visual C#, puis exécutez le code suivant sur un ordinateur sur lequel le.NET Framework 3.5 Service Pack 1 installé.
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();

}
}
}

Références

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft
Propriétés

ID d'article : 957541 - Dernière mise à jour : 13 janv. 2017 - Révision : 1

Commentaires