目前我在我的库中创建了一个像这样建立的app.config文件:
<div
style="text-align: center; display: flex; flex-direction: row; justify-content: center; align-items: center; height: 400px;">
<div style="">
<img style="text-align: center;" src="laptop.png">
<p>logo</p>
</div>
<div style="margin-left: 120px; margin-right: 120px;">
<img src="laptop.png">
<p>logo</p>
</div>
<div style="">
<img src="laptop.png">
<p>logo</p>
</div>
</div>
我需要我的用户通过添加和/或删除格式甚至添加新设置来修改此设置。我使用<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<appSettings>
<add key ="DATE" value="dd/MM/yyyy"/>
<add key ="TIME" value="HH:mm|HH:mm:ss"/>
<add key ="DURATION" value="ss|mm:ss|hh:mm:ss|hhmmss"/>
<add key ="LAT_LONG" value="dd.ddddd[N,S]dd.ddddd[E,W]|[-]dd.ddddd°,[-]dd.ddddd°|[-]ddmmss.ssss, [-]dddmmss.ssss "/>
</appSettings>
</configuration>
来做到这一点。
现在我怀疑这将在部署此应用程序时实际工作,因为如果我理解我在之前的研究中读到的内容,ConfigurationManager
无法在运行时进行修改。我必须使用appSettings
吗?在这种情况下,我可以直接在这个userSettings
文件中添加它们吗?如何正常工作app.Config
?我可以使用userSettings
进行互动吗?
答案 0 :(得分:0)
如果您想设置用户个性化配置,您可以按照MS为我们(开发人员)准备的简单路径。
在这种情况下,您只需使用项目的“属性”菜单定义初始设置,然后选择“设置”。
您可以在此处定义两种设置。应用程序设置(对该计算机上的所有用户有效且不易从代码修改)和用户设置。这些最后的用户按用户分隔,并在用户文件夹层次结构内的客户端计算机上的某个obsure文件夹中写入。
可以使用“设置”类在运行时更改和保存这些设置 因此,假设您在项目的“设置”配置中添加了类型为字符串和范围User的DateFormat设置。
现在您可以使用
检索它string format = Settings.Default.DateFormat;
....
format = "dd/MM/yy";
Settings.Default.DateFormat = format;
Settings.Default.Save();
这是让你开始的基础。当您需要升级存储在用户设置文件中的信息时,您还应该查看this question and answer来处理这种情况
答案 1 :(得分:0)
我建议你考虑稍微改变一下。也就是说,为什么不使用文本文件或数据库(这个用例可能是太多的开销)来存储用户特定的设置。 AppConfig适用于特定于应用程序的内容,无论如何将用户关注点分离出来可能是一个好主意。将用户设置存储为文本文件中的json对象,并将其直接序列化到UserSettings对象。
但是,请查看ServiceStack.Text以处理AppSettings,序列化/去序列化设置到POCO对象。以下是an example如何使用api进行AppSettings。
但是,再次使用AppSettings,您可以从文本文件中读取/写入并序列化到您选择的对象,仍然使用相同的apis。