2011-01-17 12 views
1

私は、プログラムオプションを保存するための組み込みの設定を使用している単純なwinformsアプリケーションを構築しています。すべての設定はユーザーごとです。ユーザー固有の設定にはappname.exe.configが必要ですか?

生成されたcsファイルからわかるように、デフォルト設定はソースコードに組み込まれていますが、アプリケーションは起動時にappname.exe.configファイルを読み込みます。ファイルを削除すると、アプリケーションは正常に動作しているように見えますが、何も破壊しないようにしたいのです。

ユーザーごとの設定のみを使用する場合は、ファイルが必要ですか?

答えて

0

設定デザイナーは、デフォルト値を[DefaultSettingValue]属性に埋め込みます。属性の備考セクションで、次のセクションでは、関連性がある:

異なる設定プロバイダが DefaultSettingValueAttributeの使用に 異なる要件や制限を があります。 例えば、LocalFileSettingsProvider この属性を必要とせず、任意の 値、デフォルトまたはユーザーmodified-がある場合 は この属性によって提供される任意の値を上書きします データストアに既に存在しています。

LocalFileSettingsProviderはデフォルトプロバイダです。だから、そこにはありますが、それは使われません。

+0

LocalFileSettingsProviderがDefaultSettingValueAttributeを無視している場合、アプリケーションが最初に実行されたときに設定にどの値が設定され、デフォルト値を持つ設定ファイルがないか? – Giorgi

+0

私はこれまでこれを試したとは言えません。なぜあなたはそれを自分で試してみませんか?私は何かがカープーになると思う。 –

0

Application Settingsを使用していて、設定を永続化したい場合は、これがオプションを保存する場所です。ファイルを削除すると、ユーザーが設定を変更して設定を変更すると、ファイルが再作成されます。

+0

オプションはappdataフォルダに保存されます。ファイルには、Settings.Designer.csにも存在するデフォルト値のみが含まれます。 – Giorgi

1

設定ファイルの代わりにユーザー設定を使用する必要があります。ユーザー設定の読み書き方法など、詳細については、thisの記事を参照してください。

+0

私はユーザー設定を使用しています。設定ファイルはVSによって自動的に作成され、コンパイル時にmyapp.exe.configという名前に変更されました。設定ファイルを使用していません。 – Giorgi

+0

@Giorgi:これは設定ファイルです。それを使用する必要がない場合でも、デフォルトで作成されます。 – Bernard

関連する問題