Как я могу установить относительный путь в App.Config? - PullRequest
0 голосов
/ 25 февраля 2019

Я работаю над WPF C # и использую Visual Studio 2017.

Он предназначен для задания пути к файлу appSettings.Я хочу определить относительный путь в файле App.Config.Если я пытаюсь с абсолютным путем, он работает.

Эта работа:

<appSettings file="C:\Users\jordan\AppData\Roaming\Test\appfile.config">

Но если я пытаюсь с относительным путем, это не работает.

Это не работает:

<appSettings file="${AppData}\Roaming\Test\appfile.config">

<appSettings file="~\AppData\Roaming\Test\appfile.config">

<appSettings file="~/AppData/Roaming/Test/appfile.config">

etc...

У вас есть идея установить относительный путь здесь?Или просто почему я не могу этого сделать?

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

Папка приложения для текущего пользователя в роуминге определяется одной записью в перечислении Environment.SpecialFolder , и это ApplicationData запись

Вы можете получитьпуть, связанный с этим перечислением, используя Environment.GetFolderPath , передающий запись перечисления

 string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Таким образом, в вашем конфигурационном файле вы можете просто сохранить конечную часть Test \ appfile.config и используйте этот код

 string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
 string configLocation = Configuration.AppSettings["file"].ToString();
 string file = Path.Combine(appData, configLocation);
...