如何将我自己的 XML 配置文件添加到 Windows 服务 C#
Posted
技术标签:
【中文标题】如何将我自己的 XML 配置文件添加到 Windows 服务 C#【英文标题】:How to Add My Own XML Configuration File to the Windows Service C# 【发布时间】:2020-07-17 04:16:51 【问题描述】:我正在开发一个 Windows 服务,并在其中添加了一个特殊的配置 XML 文件。
使用 Visual Studio 进行调试时,服务可以读取该文件中的数据。
但是在构建文件时,该 XML 文件不会添加到构建文件夹中。
同样在安装服务后,它从 System32 开始(默认位置)
它给出了一个错误(Cannot find the file C:\Windows\System32\ServerAgent.xml)
文件未添加到安装文件夹。
如何将我的 XML 文件添加到构建文件夹和安装位置?
提前致谢。
【问题讨论】:
在 VisualStudio 解决方案资源管理器的文件属性中,可以指定是否将文件复制到输出目录。在你的服务中加载文件时,不要依赖当前目录,而是指定完整路径。 【参考方案1】:-
在 Visual Studio 中,单击文件树中的文件
右键单击并选择属性
有一个名为“复制到输出目录”的属性
选择“始终复制”或“如果更新则复制”
最好使用您的应用设置指定 xml 文件的完整路径。请参阅此答案以查找您的应用程序所在的文件夹:
https://***.com/a/8081812/65432
【讨论】:
谢谢@Rosco 您的解决方案解决了我的部分问题。现在 xml 文件被添加到构建文件夹中。但是当服务启动(未安装)时,它会在System32
文件夹中搜索该文件。得到同样的错误..
该服务需要在xml位于同一文件夹中的位置启动应用程序可执行文件。
@JayNaz 添加了有关查找 xml 文件位置的更多信息
文件未找到错误已被修复。我用doc.Load(AppDomain.CurrentDomain.BaseDirectory + @"\ServerAgentConfig.xml");
替换了doc.Load(Directory.GetCurrentDirectory() + @"\ServerAgentConfig.xml");
,就这么简单。谢谢@Rosco以上是关于如何将我自己的 XML 配置文件添加到 Windows 服务 C#的主要内容,如果未能解决你的问题,请参考以下文章
将我自己的 C# 项目配置添加到 MSBuild / Visual Studio
将我自己的头文件添加到 ATSAMA5D36 开发板库的代码中