WCF Service как Windows Service Wees (Windows 7)
-
26-09-2019 - |
Вопрос
Я следовал по шагам здесь Чтобы сделать мою существующую службу WCF (уже работаю нормально, как приложение для консоли), а также услуга Windows, на моем компьютере Windows 7, которая также является моей машиной для разработки.
Неважно, что я пытался, когда выполнил последний шаг использования Installutil, я получаю следующее сообщение в командной строке:
Исключение произошло при инициализации установки:
System.badimageFormatexception: не удалось загрузить файл файла или сборки: /// [Путь здесь] или один из его зависимостей.
Была предпринята попытка загрузить программу с неправильным форматом.
У меня есть мой консольный приложение Главный класс наследует от ServiceBase
и внедрить OnStart
а также OnEnd
методы.
я добавил ProjectInstaller
класс унаследовал от System.Configuration.Install.Installer
отмечен [RunInstaller(true)]
атрибут и с кодом, который они поставляются в конструкторе.
То, что я уже пробовал, что не упоминается в вышеуказанной статье?
- Запуск командной строки в качестве администратора
- Навигация по каталогу, где файл EXE расположен и работает installutil оттуда
- Давая сильный ключ к файлу EXE и все DLL, это использует
Кроме того, я не получаю никакого файла журнала даже при указании его с /LogFile=myLog.txt
.
Любые идеи приветствуются, спасибо.
Решение
Что пахнет как 32- / 64-битная проблема.
Ваша машина 64-битная Windows 7 случайно ?? Ваш сервис как-то ссылается на что-то 32-битное, как старый компонент COM или что-то ??
Возможно, вам придется компилировать свои вещи с платформой X86 в Visual Studio, чтобы правильно работать ...
Другие советы
Исключения BadimageFormat обычно возникают, когда сборка загружается в старую версию .NET Framework (сборка 4.0 на машине без 4,0). Поскольку вы развертываете на одной и той же машине, я думаю, что вы не используете правильную версию Installutil.
Убедитесь, что вы используете InstallutIl, расположенный здесь: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319