Приложение не удалось правильно инициализировать - PullRequest
0 голосов
/ 10 сентября 2010

У нас есть проект, созданный с vs2010, который использует .dll с управляемым кодом. Я собрал .dll в vs2010, целевой Framework .NET 4.0 (также попробовал Client Profile), который является единственным вариантом 2010, который вы можете использовать. Когда я запускаю его, он не может инициализироваться, и я предполагаю, что это какая-то несовместимость ... но я понятия не имею, что это будет. У кого-нибудь есть идеи?

Кроме того, я скачал исправление, которое позволяет вам делать инкрементные управляемые сборки (изначально это не было функцией в 2010 году)

Спасибо!

1 Ответ

3 голосов
/ 10 сентября 2010

Исключение 0xc000007b (STATUS_INVALID_IMAGE_FORMAT) почти всегда генерируется в 64-разрядной версии Windows.Потому что ваша программа работает в 64-битном режиме и пытается загрузить DLL, которая содержит неуправляемый 32-битный код.Или наоборот.

Убедитесь, что управляемая сборка была построена с установленным для платформы целевым значением Любой ЦП.Это больше не по умолчанию в VS2010.Проект + Свойства, вкладка "Сборка", настройка цели платформы.Обязательно измените его как для конфигурации Debug, так и для версии Release.

Если вы не знаете, какой DLL это может быть, наблюдайте за загрузкой DLL программой с помощью утилиты SysInternals ProcMon.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...