2011-07-21 9 views
1

私はC#(.net 3.5)で書かれたWindowsアプリケーションを持っていて、アプリケーションの設定を保持するSettings.settingsファイルを持っています。Windowsアプリケーションの設定

私はこのような何か行うと:

Properties.Settings.Default.HSLastSend = DateTime.Now; 
Properties.Settings.Default.Save(); 

を、それが保存され、私は、アプリケーションを再起動すると、しかしSettings.settingsファイルがまだ元の値を持って持続します。この新しい価値がどこに保存されているのか分かりません。私はそれに入ったときにSettings.settingsファイルが新しい値を持つことを期待していたでしょう。

これは問題ですか正常ですか?事前に

乾杯、

ステュー

答えて

1

Setting.settingsは、アプリケーションのデフォルト値を提供し、代わりに1を変え、あなたのバイナリファイルのリソースに保存されます。変更された設定を保存した後にアプリケーションを読み込むことでそれを証明することができます。設定ファイルがまだ古いものであっても、値を変更することができます。

EDIT

ちょうどProperties.Settingsことに注意してください。 デフォルト。 XPマシンで

それがあるべきで:

C:\ DocumentsとSettings \ "YourMachineUserName" \アプリケーションデータ\

よろしく。

+0

私は現在のものとしてアプリケーションを配布するので、それはバイナリ保存されたバージョンをSettings.settingsではなく使用するでしょうか? – stuartw87

+1

別の重要なことは、設定の-scope-を検討することです。それは、ユーザーまたはアプリケーションのいずれかになります。つまり、別の場所に保持されます。 –

+0

@ J。 Steenは同意する。 – Tigran

0

これは、通常の 設定は店舗のみ静的な値を提出し、あなたは現在のDateTimeなぜしたい場合DateTime.Nowは、この方法でそのような などの動的な値を保存することができないの集中場所で ランタイムアプリケーションの設定を保存するために設計されていますそれを あなたのコードで

+0

-1、アプリケーションが現在のDateTimeではない最後の時間を保存しています。それはとにかくコードの私の理解です。 –

+1

正確に何を説明していたのですか?設定ファイルは永続的に更新された値を保存しています。最後の値を保存するだけです。 –

関連する問題