Windows服务仅在从Visual Studio Release文件夹创建时运行

本文关键字:文件夹 Release 创建 运行 Studio Visual 服务 Windows | 更新日期: 2023-09-27 18:21:14

我有一个Visual Studio 2010项目,它引用了另一个项目中的dll。我还成功创建了一个服务来启动此应用程序。

为了创建服务,我只需运行一个批处理文件,该文件从.net4区域调用installutil.exe,并将其指向VS项目的Release文件夹中的.exe。Release文件夹还包含引用的dll的副本。

有了这种安排,一切都很好——我可以通过服务访问dll。

但是,如果我尝试从Release文件夹以外的任何位置创建服务,它都不起作用。解释如下:我将VS Release文件夹中的所有文件复制到另一个不相关的文件夹中,并修改了安装脚本中的路径。服务已成功创建,并且正在启动。很遗憾,当以这种方式创建服务时,我无法通过该服务访问dll。为什么?

Windows服务仅在从Visual Studio Release文件夹创建时运行

我很好奇当前的工作目录在工作时是否是Release文件夹。也许是因为工作目录不是.dll文件所在的位置。在调用.exe之前,您是否先尝试更改目录?