デフォルトでは、設定は次の場所に保存されます。C:\Documents and Settings\\Local Settings\Application Data\<Project Name>
このパスをアプリケーション ディレクトリに変更するにはどうすればよいですか。また、ユーザーごとに異なるファイルを持ちたくありません。設定をグローバルにする方法
設定の範囲を「アプリケーション」に変更しようとしましたが、実行時に変更できません。
デフォルトでは、設定は次の場所に保存されます。C:\Documents and Settings\\Local Settings\Application Data\<Project Name>
このパスをアプリケーション ディレクトリに変更するにはどうすればよいですか。また、ユーザーごとに異なるファイルを持ちたくありません。設定をグローバルにする方法
設定の範囲を「アプリケーション」に変更しようとしましたが、実行時に変更できません。
Q:なぜ道がわかりにくいのですか?変更/カスタマイズする方法はありますか?
A:パス構築アルゴリズムは、セキュリティ、分離、および堅牢性の観点から、特定の厳しい要件を満たす必要があります。アプリケーションが提供するフレンドリーな文字列を使用してパスをできるだけ簡単に見つけられるようにしましたが、他のアプリとの衝突やスプーフィングなどの問題に遭遇せずにパスを完全に単純に保つことはできません.
LocalFileSettingsProvider は、設定が保存されているファイルを変更する方法を提供しません。そもそもプロバイダー自体が構成ファイルの場所を決定するわけではないことに注意してください。これは構成システムです。何らかの理由で設定を別の場所に保存する必要がある場合は、独自の SettingsProvider を作成することをお勧めします。これは非常に簡単に実装でき、.NET 2.0 SDK にその方法を示すサンプルがあります。ただし、上記と同じ分離の問題が発生する可能性があることに注意してください。
Robert Harveyの答えに同意します。自分で行うか、カスタム設定プロバイダーを作成してください。
独自のXML 構成ファイルをいつでも読み書きできます。
すべてのユーザーの設定をプログラムで変更するのは困難です (通常は Program Files にあり、最新の OS では書き込みアクセスから保護されている exe.config ファイルから変更されるため)。アプリケーション全体で設定を行うことができますが、この質問ConfigurationManager
の解決策と同様に、を使用して構成ファイルをいじることができます。