如何在App.Config中设置相对路径?

问题描述 投票:1回答:1

我正在使用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...

你有想法在这里设置相对路径吗?或者为什么我不能那样做?

谢谢

c# .net wpf app-config appsettings
1个回答
4
投票

当前漫游用户的应用程序特定文件夹由枚举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);
© www.soinside.com 2019 - 2024. All rights reserved.