user.configが保存されているディレクトリのパスを取得する方法

user.configが保存されているディレクトリにそれ以外の設定ファイルなどを保存する場合、単に特殊ディレクトリのパスを取得した上でアプリケーション名を指定したとしてもランダムに生成される文字列が特定出来ないことからそう簡単にはいかない。

そのため、一度user.configのパスを取得し、その親ディレクトリのパスを取得するという回りくどい方法をとる。

// user.configのパスを取得
Configuration appSettings = ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.PerUserRoamingAndLocal);
DirectoryInfo confFilePath = new DirectoryInfo(appSettings.FilePath);

// user.configが保存されている親ディレクトリのパスを取得する
DirectoryInfo parent = confFilePath.Parent;
string settingsDirectory = parent.FullName;

// 親ディレクトリのパスが出力される
Console.WriteLine(settingsDirectory);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です