我正在使用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...
您是否有想法在此处设置相对路径?还是为什么我不能做到这一点?
谢谢
答案 0 :(得分:3)
当前漫游用户的特定于应用程序的文件夹由枚举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);