自定义user.config保存位置和命名

时间:2013-10-03 17:05:32

标签: c#

我正在尝试使用默认的user.config设置文件,但我想将其保存在默认位置以外的其他位置。尝试读取和写入文件时,它不会执行任何操作,但不会引发任何错误。我还必须手动创建文件夹和文件。有人能告诉我我在哪里错吗?

       location = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\MyProgram\" + Environment.UserName + ".config";
AppDomain.CurrentDomain.SetData("USER_CONFIG_FILE", location);
        textBox1.Text = Settings.Default["Text1"].ToString();
        label1.Text = Settings.Default["Text1"].ToString();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Settings.Default["Text1"] = textBox1.Text;
        Settings.Default.Save();
        label1.Text = Settings.Default["Text1"].ToString();
    }

1 个答案:

答案 0 :(得分:0)

您可以将Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)用于aaccess appdata文件夹,并在应用上创建一个名为的文件夹,并保存全局或用户特定的配置。

代码:

 var location = string.Format
(
@"{0}\MyApp\{1}",
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
Environment.UserName
);
// Create a confile using File IO Path
   var fileName = Path.Combine(location, "Data.Config")

为什么你的代码无效?

您正试图从您的设置文件不可用的某个位置读取设置,在这里您以应用程序假设它在bin目录中的方式编写设置文件,因此这些在您的代码中没有任何内容