2012-01-27 38 views
9

私は、ユーザーが簡単に見つけることができるように私のWindowsフォームアプリケーションでuser.configファイルの場所を表示したいと思います。user.configファイルの場所をプログラムで取得するにはどうすればよいですか?

パスの作成方法は、Can I control the location of .NET user settings to avoid losing settings on application upgrade?です。

しかし、これが変更された場合、特に、user.configファイルの場所を取得する簡単な方法がある場合は、私のアプリでパスを構築する必要はありません。

答えて

20

これを試してみてください:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming); 

MessageBox.Show(config.FilePath); 
+2

これは私が必要とするものです。 ConfigurationUserLevel.PerUserRoamingAndLocalとConfigurationUserLevel.PerUserRoamingの実際の違いは何ですか? RoamindAndLocalは両方の状況をカバーするようですか??? –

+0

現在のユーザーに適用されるローカルのConfigurationオブジェクトを取得するには、userLevelをPerUserRoamingAndLocalに設定します。 現在のユーザーに適用されるローミング構成オブジェクトを取得するには、userLevelをPerUserRoamingに設定します。 –

1

Configurationオブジェクトを入手するにはConfigurationManagerを使用してください。 Configuration -objectには文字列プロパティFilePathがあります。 参照:Configuration-Members

4

をアプリケーションの実行は、ConfigurationUserLevel.PerUserRoamingAndLocalはあなたがConfigurationUserLevel.PerUserRoamingではなく、探しているプロパティかもしれ方法に応じて、

すなわち:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 
MessageBox.Show(config.FilePath); 

これを使用するためには、プロジェクトの参照にSystem.Configurationを持つようにしてください。

関連する問題