c# - 如何将配置输出设置到特殊文件夹(LocalApplicationData)?

标签 c# wcf configuration windows-xp special-folders

有没有办法为我的 WCF 服务设置 app.config,以便它输出到 LocalApplicationData folder无需硬编码任何东西?

%LOCALAPPDATA% 在 XP 中不起作用,我需要支持 XP

我发现 shell:Local AppData 可以工作,但我不确定如何将其放入 app.config

我能找到的下一个最接近的是%APPDATA%,但我不相信这与 LocalApplicationData 不同

最坏的情况,我可以(但不想)使用代码来执行此操作(直接使用 SpecialFolders),但我不确定如何设置它,同时保持其余设置可配置?

最佳答案

您可以从环境对象中获取它。

string path;
path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

根据评论进行编辑:

现在我明白了。您可以创建自己的环境变量以用作配置中路径的一部分。

CMD:

set mylocalapplicationdata="somewhere"

或 C#:

string name = "mylocalapplicationdata";
string value = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Environment.SetEnvironmentVariable(name, value);

此后,您可以像其他系统变量一样使用%mylocalapplicationdata%

您可以为一个 session (进程)、用户或机器设置变量(对于需要管理员权限的机器)。

更多信息(MSDN): http://msdn.microsoft.com/en-us/library/z46c489x.aspx

或者您可以使用这样的字符串:

%USERPROFILE%\Local Settings\Application Data

但这仅适用于 Windows XP。

关于c# - 如何将配置输出设置到特殊文件夹(LocalApplicationData)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14203749/

相关文章:

生成意外格式的 C# Entity Framework 6 外键约束

c# - 在Gridview的列中隐藏/取消隐藏控件 - 移位问题

wcf - WCF服务监控工具

git - 如何将多个配置键值对传递给 git clone?

python - 使用 Eclipse 配置 Turbo Gears

c# - 我可以在 .NET Framework 4.0 上运行 MVC 5 应用程序吗?

c# - InvalidOperationException 未处理 - 数据 GridView 问题

WCF - Windows 身份验证 - 安全设置需要匿名

asp.net - 在从 net.tcp 协议(protocol)连接到 WCF 的端点处监听的问题

elasticsearch - 为多个 Elasticsearch 集群配置单个 Kibana 服务器