ИСПРАВЛЕНИЕ: Сообщение об ошибке при компиляции проекта Visual Studio с помощью ассемблера MSIL (Ilasm.exe): «Недопустимый идентификатор TypeDefID экспортируемого типа»

Переводы статьи Переводы статьи
Код статьи: 928382 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При использовании промежуточного языка (MSIL) в Microsoft платформа.NET Framework 2.0 для компиляции проекта Microsoft Visual Studio Assembler (Ilasm.exe) может появиться сообщение об ошибке, подобное приведенному ниже:
DLL.IL(42): ошибка - Недопустимый идентификатор TypeDefID экспортированного типа Собранный метод Dll::.ctor

***** СБОЙ *****

Причина

Эта проблема возникает из-за двух внутренние классы в коде MSIL имеют одинаковое имя.

Решение

Сведения об обновлении программного обеспечения

Исправление от корпорации Майкрософт доступна. Тем не менее он предназначен для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не представляет особой эта проблема, рекомендуется отложить ее решение до выхода ближайшего пакета обновления для Microsoft платформа.NET Framework 2.0, содержащего это исправление.

Чтобы решить проблему немедленно, обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов служб поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-узел корпорации Майкрософт:
условиях обслуживания
Примечание В особых случаях расходов, предусмотренная для звонков в службу поддержки может быть отменена, если специалистом службы поддержки Майкрософт определяет, что решения проблемы является специально выпущенное. Затраты на обычные службы поддержки будет применяться к Дополнительные вопросы и проблемы, которые не соответствуют требованиям особым обновлением.

Необходимые условия

Не требуется соблюдения.

Необходимость перезагрузки

Необходимо перезагрузить компьютер после установки данного обновления программного обеспечения.

Сведения о замене обновлений программного обеспечения

Это обновление не заменяет других обновлений.

Сведения о файлах

Английская версия данного обновления содержит атрибуты файла (или более поздними), приведенные в следующей таблице. Дата и время для файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс Вкладка в Дата и время элемент панели управления.
Microsoft платформа.NET Framework 2.0, архитектура Itanium
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремя
Ilasm.exe2.0.50727.248672,52028 Ноября 2006 г.04: 44
Ilasm.exe2.0.50727.248226,05628 Ноября 2006 г.08: 59
Microsoft платформа.NET Framework 2.0, x 64
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремя
Ilasm.exe2.0.50727.248331,01628 Ноября 2006 г.04: 35
Ilasm.exe2.0.50727.248226,056
Microsoft платформа.NET Framework 2.0, x 86
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремя
Ilasm.exe2.0.50727.248226,05628 Ноября 2006 г.08: 59

Дополнительная информация

После установки данного обновления программного обеспечения при многомодульные сборки содержит открытые типы, вложенные в двойной необходимо ввести полный путь к вложенному классу. Например можно использовать код, подобный приведенному в следующем примере кода перед установкой обновления программного обеспечения.
.class extern public forwarder Encl{
.assembly extern multi_supplier
}
.class extern public forwarder Nest1{
.class extern Encl
}
.class extern public Nest2{
.class extern Nest1
}
После установки обновления программного обеспечения, код должен напоминать следующий код.
.class extern public forwarder Encl{
.assembly extern multi_supplier
}
.class extern public forwarder Nest1{
.class extern Encl
}
.class extern public Nest2{
.class extern Encl/Nest1

Статус

Корпорация Майкрософт подтверждает, что это является проблемой в продуктах Майкрософт, перечисленных в разделе «Относится к».

Дополнительная информация

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
824684Описание стандартной терминологии, используемой для описания обновлений программных продуктов Майкрософт

Свойства

Код статьи: 928382 - Последний отзыв: 10 сентября 2012 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 2.0
Ключевые слова: 
kbbug kbfix kbqfe kbmt KB928382 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 928382

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com