Windows服务在服务器上无效,但在DLL更新后本地工作

问题描述:

我在更新服务器中运行的Windows服务时遇到问题。我只改变了DLL,但是当我想启动它时,服务器刚刚崩溃,出现错误1053. Windows中的事件查看器显示更多错误:Windows服务在服务器上无效,但在DLL更新后本地工作

异常信息:System.TypeInitializationException。

我几乎可以肯定,我只是在我的代码中做了错误,但要确保我在本地运行此服务(在我自己的笔记本电脑上),并且没有任何问题服务启动正确。在服务器上,我有与本地(复制粘贴)相同的DLL。你有任何想法如何解决这个问题?我需要快速结束这台服务器。

private static void Main() 
{ 
    try 
    { 
     var dlls = new string[] { "Service.DataAccess", "SomeDll.Info", "SomeDll.Detail", "SomeDll.Some" }; 
     new AssemblyLoader(dlls).Load(); 
     XmlConfigurator.Configure(); 

     AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; 
     ServiceBase[] ServicesToRun; 

     ServicesToRun = new ServiceBase[] {new Service_SRV()}; 

     ServiceBase.Run(ServicesToRun); 
    } 
    catch(Exception e) 
    { 
     RecordError(e); 
     throw; 

    } 
} 

我只是更改DLL名称,但有适当的没有类型的错误。最后,我想补充说,我读了这个主题:Error 1053: the service did not respond to the start or control request in a timely fashion

没有什么帮助,它仍然在本地计算机上工作,但不在服务器上。什么样的问题可能会使本地工作和服务器不工作?

检查您是否在app.config文件中提及了任何文件路径或代码中的任何硬编码文件路径。

如果是这样,您可能需要更新服务器计算机的路径。

您是否将新的DLL添加到GAC中? 否则,你的dll需要和你的控制台应用程序在同一个目录下。 也许在名为bin的子文件夹中。

另外,你是否为相同版本的框架编译?使用的框架是否存在于服务器上?

+0

是的,它仍然是相同的框架和DLL在同一个文件夹 – Aht

+0

@Att错误消息表明您的服务已加载,但需要很长时间才能启动。如果您更改了名称,是否有任何仍然引用旧名称的依赖关系?配置?配置部分/键?注册表项? – lobiZoli

+0

有消息说,但服务器在3-5秒后崩溃并发送超时错误(30秒)。配置文件是好的相同的配置工作本地没有问题 – Aht