4

我正在尝试组合一个托管 WCF 服务的 Windows 服务。我的项目结构如下:

  • 服务
  • 服务合同
  • 服务主机
  • 服务设置

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 ......这让我措手不及。当一切正常时,我该如何调试?该怎么办?

4

2 回答 2

2

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

于 2012-08-01T08:04:16.027 回答
1

对于这种情况(在启动时发生故障),附加调试器可能很困难。如果我仍在开发中,我喜欢添加额外的语句System.Diagnostics.Debugger.Launch()。这将在代码运行时自动启动调试器。我建议将那行代码放在下面OnStart,看看您是否可以从问题中获得更多信息。

于 2012-08-01T08:02:58.530 回答