Windows服务空引用异常

Windows服务空引用异常,windows,windows-services,Windows,Windows Services,我在本地计算机上建立了windows服务。当我在本地安装并运行它时,它工作得非常好。当我试图将它移动到我的生产机器时,我得到一个空引用异常错误 我已经创建了一个安装包,它在我的机器上也可以正常工作,但是当我在生产机器上运行它时,服务仍然失败 该服务引用了一个.dll,该dll又引用了其他3个dll。当我构建项目时,它会将所有DLL拉入项目的调试文件夹。。。我甚至从那个文件夹安装了服务,它在我的机器上本地工作 我知道这和参考资料有关,但我无法理解。如有任何提示,我们将不胜感激。请确保您安装的机器与

我在本地计算机上建立了windows服务。当我在本地安装并运行它时,它工作得非常好。当我试图将它移动到我的生产机器时,我得到一个空引用异常错误

我已经创建了一个安装包,它在我的机器上也可以正常工作,但是当我在生产机器上运行它时,服务仍然失败

该服务引用了一个.dll,该dll又引用了其他3个dll。当我构建项目时,它会将所有DLL拉入项目的调试文件夹。。。我甚至从那个文件夹安装了服务,它在我的机器上本地工作


我知道这和参考资料有关,但我无法理解。如有任何提示,我们将不胜感激。

请确保您安装的机器与您期望安装的机器具有相同的.dll。例如,如果您正在使用.NET,并且在3.5中编写了服务,而目标计算机只有2.0,这可能是一个问题,特别是如果安装程序没有尝试安装它。

如果您查看注释,您将看到问题所在。

真的,这与引用无关。你确定你没有在(比如)服务器上不存在的文件夹路径中硬编码吗?或者其他资源?发布stacktrace会有帮助的。就是这样!在你说我是从一个web应用程序中的类继承的之后,我意识到。。。它从WEB应用程序中的相对位置拉入一个xml配置文件/FacePalm web应用程序使用的xml解析器也在我的服务中用于从web应用程序结构中的配置文件获取db连接字符串。。。这是一个尝试捕获,因此如果它无法从web应用程序中的相对位置获取它,它将转到公司旧服务器中的绝对位置C:\。。。在此服务器上,所有web应用程序都存储在E:\。。。我把绝对参考中的c改为e,然后。。。它是有效的。我确保作为安装了3.0的服务的一个依赖项。。。该服务器还将容纳4-5个其他web应用程序,这些应用程序的编写格式为2-3.5。