Симптоми
Имате приложение, което извиква GetOptionalCustomModifiers или GetRequiredCustomModifiers метод на ParameterInfo обект на интерфейс. Когато стартирате това приложение на компютър с Microsoft .NET Framework 3.5 Service Pack 1 (SP1) инсталиран, хвърлено и получавате съобщение за грешка, подобно на следното:
Възникна необработено изключение от тип "System.ExecutionEngineException" в mscorlib.dll
Освен това в регистрационния файл се записва събитие ID 1023. Това събитие прилича на следното: събитие ID 1000 също може да се регистрира в регистрационния файл. Това събитие подобно на следното:
Причина
Този проблем възниква поради проблем в .NET Framework 3.5 SP1.
Решение
Информация за актуалната корекция
Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в настоящата статия. Прилагайте тази корекция само към системи, изпитващи този конкретен проблем. Може да се проведат допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, който ще съдържа тази корекция.
За да изтеглите актуалната корекция от MSDN Code Gallery, посетете следния уеб сайт на Microsoft:
http://code.msdn.microsoft.com/KB957541
Забележка: MSDN Code Gallery показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото Code Gallery ресурс страница не е налична за този език.
Забележка: Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:
http://support.microsoft.com/contactus/?ws=supportЗабележка: Ако трябва да имате тази спешна корекция за Windows Server 2008 или Windows Vista Service Pack 1, получите корекция 957542 вместо това. 957542 корекция отстранява проблема и за тези операционни системи. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:
957542 решение: на компютър, работещ под .NET Framework 3.5 Service Pack 1, JIT компилация и основен генератор изображение (Ngen.exe), които използват файла Mscorjit.dll може да генерира неправилен код
Необходими условия:
Трябва да имате .NET Framework 3.5 SP1, за да приложите тази актуална корекция.
Изискване за рестартиране
Може да се наложи да рестартирате компютъра, ако някой от файловете, които се актуализират, се използват.
Информация за заместване на актуалната корекция
Тази актуална корекция не замества други спешни корекции.
Файлова информация
Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента " Дата и час " в контролния панел.
Windows 2000, Windows XP и Windows Server 2003, x86 версии
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
---|---|---|---|---|
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 и Windows Server 2003, x64 версии
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
Платформа |
---|---|---|---|---|---|
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 и Windows Server 2003, IA-64 версии
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
Платформа |
---|---|---|---|---|---|
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 |
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".
Допълнителна информация
Стъпки за възпроизвеждане на проблема
За да възпроизведете този проблем, създайте проект на Microsoft Visual C# и изпълнете следния код на компютър с .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();
}
}
}
Препратки
За повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер на статия, за да я видите в базата данни на Microsoft:
824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft