Установка службы Windows не сбои
-
22-10-2019 - |
Вопрос
Я пытаюсь установить сервис Windows .NET 4 на производственном сервере: Запуск installUtil.exe дает мне это сообщение об ошибке:
Исключение произошло при инициализации установки: System.BadimageFormateXception: не может загрузить файл или файл сборки: /// D: myservice.exe 'или одна из его зависимостей. Эта сборка построена во время выполнения, новую, чем в настоящее время загруженное время выполнения, и не может быть загружена.
Очевидно, что он жалуется на то, что служба записывается в .NET 4. Но фреймворк правильно установлен на сервере, так как у меня есть другие приложения .NET 4. Это первый раз, когда я пытаюсь установить оказание услуг.
Я немного погуглил и попытался установить «Целевой процессор» на «AnyCPU» в настройках расширенных компиляторов. Что еще мне не хватает?
Решение
Скорее всего, у вас есть несоответствие Bitness. Если это 64-битный сервер, то, вероятно, где-то есть 32-битный DLL, который имеет то же имя, что и 64-битный DLL, который пытается загрузить программу. Или, на 32-битном сервере, где-то есть 64-битный DLL.
Я обнаружил, что когда это произойдет, журнал ошибок приложения (команда Windows eventvwr
) скажет мне, где находится оскорбительный DLL).