如何设置配置输出到特殊文件夹(LocalApplicationData)
本文关键字:文件夹 LocalApplicationData 配置 何设置 设置 输出 | 更新日期: 2023-09-27 17:50:53
是否有办法为我的WCF服务设置我的app.config,以便它输出到LocalApplicationData文件夹,而无需硬编码任何东西?
%LOCALAPPDATA%
不能在XP中工作,我需要支持XP
我发现shell:Local AppData
工作,但我不确定如何把它放在一个app.config
下一个最接近我能找到的是%APPDATA%
,但我不相信这是不一样的LocalApplicationData
最坏的情况下,我可以(但宁愿不)使用代码来做到这一点(直接使用SpecialFolders),但我不确定如何设置这个,同时保持其余的设置可配置?
可以从Environment对象中获取。
string path;
path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
根据注释编辑:
现在我明白了。您可以创建自己的环境变量,作为配置中path的一部分使用。
CMD:
set mylocalapplicationdata="somewhere"
或c#:
string name = "mylocalapplicationdata";
string value = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Environment.SetEnvironmentVariable(name, value);
在此之后,您可以像使用其他系统变量一样使用%mylocalapplicationdata%
。
您可以为一个会话(进程),用户或机器(对于机器,您需要管理员权限)设置变量。
更多信息(MSDN):http://msdn.microsoft.com/en-us/library/z46c489x.aspx
或者你可以像这样使用字符串:
%USERPROFILE%'Local Settings'Application Data
我不认为有一种方法可以只使用内置环境变量来获取您想要的信息。从Windows XP到Windows Vista/7的信息不一致,所以我认为你最好的选择是在安装期间更新你的配置文件,在那里你可以确定操作系统并访问其他Windows api。