我在 VS2008 中由 C# 开发的服务应用程序中添加了一个设置文件。在设置文件的设计器中,我插入了新的日期时间变量并输入了该日期时间变量的默认值。例如,假设这个变量的名字是,它的值是“ ”。当我运行我的服务应用程序时,我使用以下代码行正确地
获得了值:user scope
MyDate
2013-01-08
MyDate
Datetime value = app.Default.MyDate; // app is the name of the settings file
之后,我使用以下代码行设置MyDate
为“ ”:2013-01-08 14:00:00
app.Default.MyDate = DateTime.Now; // Suppose Now is 2013-01-08 14:00:00 at that time.
app.Default.Save();
到目前为止一切正常。MyDate
参数设置为我想要的。但是,我看不到app.config
文件中的新值。当我在 Debug 文件夹中打开配置文件时,我只看到:
<setting name="MyDate" serializeAs="String">
<value>2013-01-08</value>
</setting>
令人惊讶的是,当我重新运行应用程序时,MyDate
参数似乎是“ 2013-01-08 14:00:00
”而不是“ 2013-01-08
”!我查看了 Debug 文件夹和项目文件夹中的每个配置文件,但找不到任何带有“ 2013-01-08 14:00:00
”的值。但是MyDate
参数在启动时设置为这个值。
我想知道 MyDate 变量的值存储在哪里?我应该查找哪个文件?
解决方案编辑:我决定不使用设置文件。我将使用 app.config 文件而不是设置文件来存储我的应用程序参数。app.config 不是类型安全的,但在文件中编辑参数更容易。另一方面,设置文件就像一个封闭的盒子,你找不到它存储参数值的文件。