Poprawka: Na komputerze, na którym zainstalowano programu.NET Framework 3.5 z dodatkiem Service Pack 1 zainstalowany, wyjątek jest generowany, gdy aplikacja wywołuje metodę GetOptionalCustomModifiers lub metodę GetRequiredCustomModifiers obiektu ParameterInfo Interfejs rodzajowy

Dotyczy: .NET Framework 3.5 Service Pack 1

Objawy


Masz aplikację, która wywołuje metodę GetOptionalCustomModifiers lub metodę GetRequiredCustomModifiers obiektu ParameterInfo rodzajowy interfejs. Po uruchomieniu tej aplikacji na komputerze, na którym zainstalowano program Microsoft.NET Framework 3.5 z dodatkiem Service Pack 1 (SP1) zainstalowane, wyjątek i zostanie wyświetlony komunikat o błędzie podobny do następującego:
Wystąpił nieobsługiwany wyjątek typu 'System.ExecutionEngineException' w mscorlib.dll
Dodatkowo 1023 identyfikator zdarzenie jest rejestrowane w dzienniku aplikacji. To zdarzenie podobne do: zdarzenia o identyfikatorze 1000, również mogą być rejestrowane w dzienniku aplikacji. To zdarzenie podobne do następujących:

Przyczyna


Ten problem występuje z powodu problemu w.NET Framework 3.5 z dodatkiem SP1.

Rozwiązanie


Informacje o poprawce

Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Tylko w systemach, których dotyczy ten problem, należy zastosować tę poprawkę. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Aby pobrać tę poprawkę z galerii kodów MSDN, odwiedź następującą witrynę firmy Microsoft w sieci Web:


Uwaga Galerii kodów MSDN zawiera listę języków, dla których dostępna jest poprawka. Jeśli na liście język nie jest widoczny, to dlatego stronie resource galerię kodu nie jest dostępna dla danego języka.


Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej i obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:

Uwaga Jeśli dla systemu Windows Server 2008 lub dodatku Service Pack 1 dla systemu Windows Vista, musi mieć tę poprawkę, należy uzyskać poprawkę 957542. 957542 poprawka rozwiązuje ten problem i są dostępne dla tych systemów operacyjnych. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

NAPRAW 957542 : na komputerze z systemem.NET Framework 3.5 z dodatkiem Service Pack 1, kompilator JIT i Native Image Generator (Ngen.exe) korzystających z pliku Mscorjit.dll może generować niepoprawny kod

Wymagania wstępne

Musi mieć.NET Framework 3.5 SP1, aby zastosować tę poprawkę.

Wymagania dotyczące ponownego uruchomienia

Należy ponownie uruchomić komputer, jeśli dowolny z plików, które są aktualizowane są używane.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje żadnych innych poprawek.

Informacje o plikach

Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.
System Windows 2000, Windows XP i Windows Server 2003, x86 wersje
Nazwa plikuWersja plikuRozmiar plikuDataGodzina
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
System Windows 2000, Windows XP i Windows Server 2003, x64 wersje
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
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
System Windows 2000, Windows XP i Windows Server 2003, wersje IA-64
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
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

Stan


Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji


Kroki prowadzące do odtworzenia problemu

Aby odtworzyć ten problem, Utwórz projekt języka Microsoft Visual C#, a następnie uruchom następujący kod na komputerze, na którym zainstalowano.NET Framework 3.5 z dodatkiem SP1 zainstalowane.
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();

}
}
}

Powiązane artykuły


Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft