服务无法启动:无法加载程序集

时间:2012-08-01 06:24:41

标签: windows wcf exception-handling windows-services self-hosting

我正在尝试整合一个承载WCF服务的Windows服务。 我的项目结构如下:

  • 服务
  • Service.Contracts
  • Service.Host
  • Service.Setup

Service.Host项目包含ProjectInstaller,Service.Setup项目是WindowsInstaller。

现在,所有内容都可以正常构建和安装,但是当我尝试启动该服务时,它会立即停止运行,并在我的事件日志中显示以下消息:

Service cannot be started. System.TypeLoadException: Could not load type 'Service' from 
assembly 'Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
at Host.Service.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

当我检查我的安装项目的输出文件夹时,我可以看到Service.dll以及Service.Contracts.dll ......这让我措手不及。如果一切正常,我该如何调试?怎么办?

2 个答案:

答案 0 :(得分:2)

修正:名称空间声明的愚蠢错误。

答案 1 :(得分:1)

对于这样的情况(启动时发生故障),可能很难连接调试器。如果我还在开发中,我想加入额外的声明System.Diagnostics.Debugger.Launch()。代码运行时,这将自动launch a debugger。我建议将这行代码放在OnStart下方,以确定您是否可以从问题中获取更多信息。