Windows服务在服务器上不起作用,但在DLL更新后在本地工作

本文关键字:更新 工作 DLL 服务器 服务 不起作用 Windows 但在 | 更新日期: 2023-09-27 18:31:36

我在更新服务器中运行的Windows服务时遇到问题。我只更改 DLL,但当我想启动它时,服务器只是崩溃并出现错误 1053。窗口中的事件查看器显示更多错误:

异常

信息:系统类型初始化异常。

几乎可以肯定我只是在我的代码中做错了什么,但为了确保我在本地运行此服务(在我自己的笔记本电脑上),并且没有任何问题服务启动正确。在服务器上,我有与本地相同的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名称,但没有正确的类型错误。最后我想补充一点,我阅读了这个主题:错误 1053:服务没有及时响应启动或控制请求

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

Windows服务在服务器上不起作用,但在DLL更新后在本地工作

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

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

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

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