[英]How to give a folder path in app.config file in C#
我正在WPF中创建一个应用程序。
在那我使用XML文件来存储一些设置。
我的应用每10秒钟运行一次。 因此它将使用该XML文件设置。
我的问题是在我的本地系统中,我将XML文件称为D://Foldername/projectname/test.xml。 但是在部署之后,它存储在C://Programfiles/Projectname/test.xml中。
因此,如何给出通用路径以使其在所有客户端系统中运行。 我正在创建要在客户端系统中安装的安装文件。 请帮我。
Properties.Settings.Default.MyPath
引用代码中的值。 如果打开应用程序配置,将有一个名为MyPath的设置,您可以在运行时覆盖路径。
我建议您将XML文件与EXE文件放在同一文件夹中,然后使用Assembly
来获取其当前路径。
var cfgPath = Assembly.GetExecutingAssembly().Location + ".config"
更新
最好将您的配置文件命名为与exe文件相同,但扩展名为“ .config”。
如果您确实在使用ClickOnce ,那么我不建议您为数据和配置文件创建自己的目录:
private static string GetDataDir()
{
var dataDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"YourApplicationName");
if (!Directory.Exists(dataDir))
Directory.CreateDirectory(dataDir);
return dataDir;
}
将数据存储在可执行文件目录中的问题是,它将位于不同的位置。 调试时,它将位于您的\\bin
目录中。 当ClickOnce部署应用程序时 ,您会遇到麻烦。 为每个版本创建一个ClickOnce应用程序的安装目录。 因此,如果您曾经以“客户” 身份更新应用程序,则所有设置都将丢失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.