我创建了一个 Windows 服务,用于执行多个定期操作的自动化程序(.Net 代码),例如备份、健全性检查、报告生成等。构建项目后,我使用installutil
. 一切都很好。
App.config
我决定在文件中为这些自动化程序移动各种“静态”参数。我卸载了以前版本的服务installutil /u
并构建了新版本的项目。正如我所料,在我的构建输出文件夹中,有一个AppName.exe
文件和一个文件。AppName.exe.config
我再次以installutil
管理员身份从 VS 2012 开发人员命令提示符安装了新版本的服务。
问题是该服务似乎无法从ConfigurationManager
. 调用ConfigurationManager.AppSettings("paramname")
不会失败,但结果参数值是一个空字符串。据我所知,所有参数都会出现问题,而不仅仅是特定参数。参数位于<appSettings>
部分中,下<configuration>
,就像我之前在各种项目中做过多次一样。
我不知道它是否有帮助,但我的服务在LocalSystem
帐户上运行,并在安装后自动启动并使用 Windows。
我做错了什么?
编辑:我已经尝试卸载/重新安装服务(多次),就像一些stackoverflow答案所暗示的那样。另外,我不希望在运行时更新/刷新文件。