改变目标框架后,Windows服务不会启动

时间:2016-07-04 15:37:37

标签: c# .net windows-services

当目标框架是.NET 2时,我有一个正常工作的Windows服务,当我将其更改为.Net 4时我重新编译了项目,使用installutil重新安装它然后启动了服务但是我得到了" Windows无法在本地计算机上启动该服务。错误1067:进程意外终止。" 不知道如何继续,Debugger.Break()行没有触发OnStart()方法。知道怎么办吗?如果我更改目标框架,是否需要更新一些设置或配置?

2 个答案:

答案 0 :(得分:0)

要检查的一些事项

  1. 当你卸载2.0版本时它完全卸载了吗?检查控制面板|服务以查看是否已将其删除。在其间重新启动以确保正确卸载。
  2. 您使用的是正确的installutil.exe for 4.0吗?还为机器和应用程序更正32位/ 64位版本?
  3. 当您从2切换到4时,是否正确更改了启动对象?检查项目属性并确保选择了正确的启动对象。

答案 1 :(得分:0)

我将采取一些措施解决问题

  • 检查尝试启动服务的计算机上的应用程序事件日志和错误日志
  • 如果服务器上的服务失败,最好在本地开发人员计算机上安装服务以调试问题
  • 以管理员身份启动服务控制台,并确保启动服务的帐户具有有效的用户名和密码 enter image description here
  • 在Visual Studio中打开Windows服务
  • 检查高级编译选项,以查看其.NET framework 4.0以及使用32位或64位的操作系统版本 enter image description here
  • 清理并重建解决方案
  • 在OnStart方法中放置一个断点并调试服务。如果服务定时在定时器上运行,请根据需要调整时间间隔,以便于调试。有时候我们必须附上一个流程
  • 如果服务正在您的计算机上运行,​​而不使用远程调试处理服务可能有助于解决问题
  • 取消暂停所有以前版本的服务,并确保在一个时间点运行一个活动版本的服务
  • 卸载时,安装服务或使用visual studio以管理员身份启动它,并注意运行服务的用户帐户。