我有一个 Windows 应用程序,它使用 SettingsProvider 读取配置设置并在文件不存在时设置默认值。
正常运行效果良好。
我正在尝试编写一个启动此应用程序的 Windows 服务。当它由服务运行时,我在所有设置属性上收到 System.Configuration.SettingsPropertyNotFoundException
。
当服务运行应用程序时,如何解决此异常?
最佳答案
这仅仅意味着应用程序无法读取.Settings 文件。我可以想到两个可能的原因:
该服务在无权访问 .settings 文件的帐户下运行。 (或 .config 文件,具体取决于)这不太可能,因为服务可以启动应用程序,并且它拥有应用程序的权限而不是设置文件的权限是没有意义的。
运行时无法找到设置文件。它期望设置位于可执行文件的根启动路径中。检查并确保它存在于相关计算机上。
然而,谷歌的结果发现了一个我没有想到的明显的可能原因。 .settings 是在上次编译后添加的吗?在 Visual Studio 中编译应用程序,然后重试...
关于service - 我在 Windows 服务中收到 system.configuration.settingspropertynotfoundexception 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404832/