Причини
У вас є застосунок, який викликає метод GetOptionalCustomModifiers або GetRequiredCustomModifiers методу, на загальний інтерфейс ParameterInfo об'єкт. Під час запуску цього застосунку на комп'ютері з Microsoft .NET Framework 3.5 пакет оновлень 1 (SP1) для інсталяції, виняткову ситуацію, і з'являється повідомлення про помилку, подібне до такого:
Сталася необроблена виняткова ситуація типу "System.ExecutionEngineException", у mscorlib.dll
Крім того, у журналі застосунків реєструється подія з Ідентифікатором 1023. Ця подія, приблизно такий: події Кодами 1000 може також реєструватися в журналі застосунку. Ця подія приблизно такого вигляду:
Причина
Ця проблема виникає, через неполадки в .NET Framework 3.5 SP1.
Вирішення
Відомості про виправлення
Виправлення доступне від корпорації Майкрософт. Проте, це виправлення призначене тільки для вирішення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, які зазнають цієї конкретної проблеми. Це виправлення може отримати додаткове тестування. Тому, якщо ця проблема не сильно впливає на вас, ми рекомендуємо почекати наступного оновлення програмного забезпечення, що містить це виправлення.
Щоб завантажити це виправлення MSDN Code Gallery, перейдіть на веб-сайт корпорації Майкрософт:
http://code.msdn.microsoft.com/KB957541
Примітка. MSDN Code Gallery, відображається список мов, для яких це виправлення доступне. Якщо ви не бачите мову у списку, це тому, що сторінка ресурсів для Code Gallery недоступна для цієї мови.
Примітка. Якщо виникають додаткові проблеми, або потрібно виявлення проблем, можливо, доведеться створити окремий запит на обслуговування. Звичайні кошти на технічну підтримку будуть застосовуватися для додаткових питань і проблем, які не пов'язані з цим виправленням. Повний список телефонів служби підтримки користувачів і технічної підтримки, або створити окремий запит на обслуговування відвідайте веб-сайт корпорації Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримітка. Якщо ви повинні мати це виправлення для Windows Server 2008 або Windows Vista з пакетом оновлень 1, отримати виправлення 957542. 957542 для виправлення усуває цю проблему і для цих операційних систем. Клацніть номер статті в базі знань Microsoft Knowledge Base:
ВИПРАВЛЕННЯ в 957542 : на комп'ютері під керуванням .NET Framework 3.5 із пакетом оновлень 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 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 Опис стандартну термінологію, яка використовується для опису оновлень програмних продуктів Майкрософт