Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在运行时添加新的持久用户设置_C#_Settings - Fatal编程技术网

C# 在运行时添加新的持久用户设置

C# 在运行时添加新的持久用户设置,c#,settings,C#,Settings,我有一个软件应该以非管理员权限运行(不能写入app.config) 我正在创建一个新的用户设置: var property = new SettingsProperty(key) { DefaultValue = val, IsReadOnly = false, PropertyType = typeof(T), Provider = Settings.Default.Providers["LocalFileSettingsProvider"] }; proper

我有一个软件应该以非管理员权限运行(不能写入app.config)

我正在创建一个新的用户设置:

var property = new SettingsProperty(key)
{
    DefaultValue = val,
    IsReadOnly = false,
    PropertyType = typeof(T),
    Provider = Settings.Default.Providers["LocalFileSettingsProvider"]
};
property.Attributes.Add(typeof(UserScopedSettingAttribute), new UserScopedSettingAttribute());
Settings.Default.Properties.Add(property);
Settings.Default.Reload();
并将其保存到会话中,但不会在下一次软件加载时显示


如何创建下一次运行时可用的全新用户设置?

无法在用户设置中完成?我的许多设置都不是新的,并且将使用用户设置进行工作和更新,所以我更喜欢在那里创建运行时设置,所以页面是这类事情的参考。你完成了吗?(特别是“如何:在运行时使用C#编写用户设置”)我查看了此页面,但它说明了如何更新现有值。上面的代码正在创建一个新代码,但在下次加载程序时它将丢失。顺便说一句,该值仍然存在于appdata的用户设置文件中,但除非在运行时定义,否则我无法访问它。也许最好在
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),“yourappname”)
中以JSON或XML文件的形式维护您自己的设置文件?