Symptom
Du har ett program som anropar metoden GetOptionalCustomModifiers eller metoden GetRequiredCustomModifiers för ParameterInfo objekt av ett allmänt gränssnitt. Ett undantagsfel när du kör det här programmet på en dator med Microsoft.NET Framework 3.5 servicepack 1 (SP1) är installerat och du får ett felmeddelande av följande slag:
Ett undantag av typen "System.ExecutionEngineException" uppstod i mscorlib.dll
Dessutom loggas händelse-ID 1023 i programloggen. Den här händelsen liknar följande: händelse-ID 1000 kan också loggas i programloggen. Denna händelse slag av följande:
Orsak
Det här problemet beror på ett problem i.NET Framework 3.5 SP1.
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är tillgänglig från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd bara den här snabbkorrigeringen för system med just detta problem. Snabbkorrigeringen kan komma att testas igen. Om du inte störs alltför mycket av detta problem rekommenderar vi att du väntar på nästa programuppdatering som innehåller den här snabbkorrigeringen.
Om du vill hämta snabbkorrigeringen från galleriet MSDN-kod finns på följande Microsoft-webbplats:http://code.msdn.microsoft.com/KB957541 Obs! Galleri för MSDN-kod visar de språk som snabbkorrigeringen är tillgänglig. Om du inte ser ditt språk i listan beror det på att koden Gallery resurssidan inte är tillgänglig för språket. Obs! Om det uppstår ytterligare problem eller krävs felsökning, kan du behöva skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över telefonnummer för Microsofts kundtjänst och Support eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:
http://support.microsoft.com/contactus/?ws=supportObs! Om du måste ha den här snabbkorrigeringen för Windows Server 2008 eller Windows Vista Service Pack 1, hämtar du snabbkorrigeringen 957542. 957542 snabbkorrigeringen löser problemet och är tillgänglig för dessa operativsystem. Mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
957542 KORRIGERA: på en dator som kör.NET Framework 3.5 Service Pack 1, JIT-kompilator och Native Image Generator (Ngen.exe) som använder Mscorjit.dll kan ge felaktig kod
Förutsättningar
Du måste ha installerat den här snabbkorrigeringen.NET Framework 3.5 SP1.
Krav på omstart
Du kan behöva starta om datorn om någon av filerna som uppdateras används.
Ersättningsinformation för Hotfix
Den här snabbkorrigeringen ersätter inte några andra snabbkorrigeringar.
Filinformation
Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.
Windows 2000, Windows XP och Windows Server 2003, x86 versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
---|---|---|---|---|
Mscordacwks.dll |
2.0.50727.3068 |
992,264 |
16-Sep-2008 |
13:13 |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
16-Sep-2008 |
13:13 |
Mscorwks.dll |
2.0.50727.3068 |
5,815,808 |
16-Sep-2008 |
13:13 |
Windows 2000, Windows XP och Windows Server 2003, x64 versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
Mscordacwks.dll |
2.0.50727.3068 |
992,264 |
16-Sep-2008 |
13:13 |
x86 |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
16-Sep-2008 |
13:13 |
x86 |
Mscorwks.dll |
2.0.50727.3068 |
5,815,808 |
16-Sep-2008 |
13:13 |
x86 |
Mscordacwks.dll |
2.0.50727.3068 |
1,767,944 |
16-Sep-2008 |
10:33 |
x64 |
Mscorlib.dll |
2.0.50727.3068 |
4,562,944 |
16-Sep-2008 |
10:33 |
x64 |
Mscorwks.dll |
2.0.50727.3068 |
10,079,744 |
16-Sep-2008 |
10:33 |
x64 |
Windows 2000, Windows XP och Windows Server 2003 IA-64-versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
Mscordacwks.dll |
2.0.50727.3068 |
992,264 |
16-Sep-2008 |
13:13 |
x86 |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
16-Sep-2008 |
13:13 |
x86 |
Mscorwks.dll |
2.0.50727.3068 |
5,815,808 |
16-Sep-2008 |
13:13 |
x86 |
Mscordacwks.dll |
2.0.50727.3068 |
3,087,880 |
16-Sep-2008 |
10:44 |
IA-64 |
Mscorlib.dll |
2.0.50727.3068 |
4,005,888 |
16-Sep-2008 |
10:44 |
IA-64 |
Mscorwks.dll |
2.0.50727.3068 |
20,153,856 |
16-Sep-2008 |
10:44 |
IA-64 |
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".
Mer Information
Åtgärder för att återskapa problemet
Skapa en Microsoft Visual C#-projekt för att återskapa problemet och sedan köra följande kod på en dator som har installerat.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(); } } }
Referenser
För mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 beskrivning av standardterminologin som används för att beskriva Microsoft-programuppdateringar