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

时间:2014-04-24 15:10:22

标签: c# wpf clickonce

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

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

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

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

    那么如何给出一个通用路径,以便它在所有客户端系统中运行。 我正在创建安装文件以在客户端系统中安装。 请帮帮我。

3 个答案:

答案 0 :(得分:1)

  1. 打开项目属性页面。
  2. 点击“设置”标签。
  3. 添加名为" MyPath"的新项目。使其成为String类型的应用程序设置,并为其提供合理的默认路径名称作为值。
  4. 使用Properties.Settings.Default.MyPath
  5. 引用代码中的值

    如果打开应用程序配置,将会有一个名为MyPath的设置,您可以在运行时覆盖该路径。

答案 1 :(得分:0)

我建议您将XML文件放在与EXE文件相同的文件夹中,然后使用Assembly获取其当前路径。

var cfgPath = Assembly.GetExecutingAssembly().Location + ".config"

<强>更新

最好将您的配置文件命名为与您的exe文件相同但使用&#34; .config&#34;扩展

答案 2 :(得分:0)

如果您真的使用 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应用程序的安装目录。因此,如果您 EVER 在“客户”处更新您的应用,则其所有设置都将丢失。