WCF服务作为Windows Service Woes(Windows 7)
-
26-09-2019 - |
题
我遵循了步骤 这里 为了使我现有的WCF服务(作为控制台应用程序已经正常运行)也是Windows Service,这也是我的开发机器的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组件或其他东西?
您可能需要在Visual Studio中使用X86平台编译您的内容,以使其正常工作...
其他提示
BadImageFormat异常通常会在装配中加载到.NET框架的较旧版本中(在没有4.0的机器上汇编的4.0组件)。由于您正在部署在同一台计算机上,因此我的猜测是您不使用正确的installutil版本。
确保您在此处使用的installutil: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319