繁体   English   中英

如何在C#中的app.config文件中提供文件夹路径

[英]How to give a folder path in app.config file in C#

我正在WPF中创建一个应用程序。

  1. 在那我使用XML文件来存储一些设置。

  2. 我的应用每10秒钟运行一次。 因此它将使用该XML文件设置。

我的问题是在我的本地系统中,我将XML文件称为D://Foldername/projectname/test.xml。 但是在部署之后,它存储在C://Programfiles/Projectname/test.xml中。

因此,如何给出通用路径以使其在所有客户端系统中运行。 我正在创建要在客户端系统中安装的安装文件。 请帮我。

  1. 打开项目属性页面。
  2. 单击设置选项卡。
  3. 添加一个名为“ MyPath”的新项目。 将其设置为String类型的“应用程序设置”,并为其指定一个合理的默认路径名作为值。
  4. 使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM