【问题标题】:How to Add My Own XML Configuration File to the Windows Service C#如何将我自己的 XML 配置文件添加到 Windows 服务 C#
【发布时间】:2020-07-17 04:16:51
【问题描述】:

我正在开发一个 Windows 服务,并在其中添加了一个特殊的配置 XML 文件。 使用 Visual Studio 进行调试时,服务可以读取该文件中的数据。 但是在构建文件时,该 XML 文件不会添加到构建文件夹中。 同样在安装服务后,它从 System32 开始(默认位置) 它给出了一个错误(Cannot find the file C:\Windows\System32\ServerAgent.xml) 文件未添加到安装文件夹。

如何将我的 XML 文件添加到构建文件夹和安装位置?

提前致谢。

【问题讨论】:

  • 在 VisualStudio 解决方案资源管理器的文件属性中,可以指定是否将文件复制到输出目录。在你的服务中加载文件时,不要依赖当前目录,而是指定完整路径。

标签: c# xml visual-studio windows-services


【解决方案1】:
  1. 在 Visual Studio 中,单击文件树中的文件
  2. 右键单击并选择属性
  3. 有一个名为“复制到输出目录”的属性
  4. 选择“始终复制”或“如果更新则复制”

最好使用您的应用设置指定 xml 文件的完整路径。请参阅此答案以查找您的应用程序所在的文件夹:

https://stackoverflow.com/a/8081812/65432

【讨论】:

  • 谢谢@Rosco 您的解决方案解决了我的部分问题。现在 xml 文件被添加到构建文件夹中。但是当服务启动(未安装)时,它会在System32 文件夹中搜索该文件。得到同样的错误..
  • 该服务需要在xml位于同一文件夹中的位置启动应用程序可执行文件。
  • @JayNaz 添加了有关查找 xml 文件位置的更多信息
  • 文件未找到错误已被修复。我用doc.Load(AppDomain.CurrentDomain.BaseDirectory + @"\ServerAgentConfig.xml"); 替换了doc.Load(Directory.GetCurrentDirectory() + @"\ServerAgentConfig.xml");,就这么简单。谢谢@Rosco
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多