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 はタイプ セーフではありませんが、ファイル内のパラメーターを編集する方が簡単です。一方、設定ファイルは閉じた箱のようなもので、パラメータ値を格納するファイルを見つけることができません。