1

我正在尝试使用默认的 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();
    }
4

1 回答 1

0

您可以使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)访问 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 目录中的方式编写设置文件时,这些会导致您的代码中没有任何内容。

于 2013-10-03T17:13:32.633 回答