Windows服务配置文件C#

28 c# configuration

我使用Visual Studio 2008/C#开发了一个Windows服务应用程序.

我在项目中有一个app.config文件.安装后,app.exe.config文件出现在可执行文件旁边,但当我尝试通过ConfigurationManager.AppSettings访问它们时,它似乎没有从中读取值.

它是否已将配置文件复制到其他位置,还是存在其他一些我不知道的问题?

提前致谢,

马丁.

编辑:配置文件名实际上是my_exe_file_name.exe.config,它看起来像:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>

    <add key="RuntimeFrequency" value="3" />

  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

而我正在尝试阅读:

ConfigurationManager.AppSettings["RuntimeFrequency"]
Run Code Online (Sandbox Code Playgroud)

我不断看到的调试值是'1'而不是'3'.我在这里做错了吗?

小智 28

我找到了错误,它与文件权限有关.安装该服务后,我的本地用户帐户无权修改app.exe.config文件.

我用来编辑的工具没有告诉我它被拒绝保存文件的权限 - 如果有人有兴趣那就是记事本++ - 所以我看不出它没有保存在旧的配置文件中.

现在解决了,谢谢大家.

马丁.

  • OP,请接受一个答案,这样它就不会一直出现在“未回答”的 SOF 查询中。 (2认同)

Ale*_*ort 1

App.config 文件应重命名为 your_exe_file_name.exe.config 并放置在 exe 文件附近。