C# 将 AppSettings 从程序文件夹中的 .exe.config 移动到自定义位置

C# Move AppSettings from .exe.config in Program Folder to Custom Location

C# MVVM 项目以 .NET Framework 4.6.2 为目标,底层 SQL 服务器数据库。

我们在 appSettings 中有一些用户可写的设置。这些存储在 C:\Program Files\PROGRAMNAME

中的 PROGRAMNAME.exe.config

问题是我们的用户通常没有对 C:\Program Files\PROGRAMNAME 目录的写入权限,因此无法写入更改到该文件。该程序要么需要 运行 作为管理员,要么我们需要授予对该目录的写入权限。两者都不理想。

我的印象是它应该在 C:\Users\USERNAME\AppData\Local\VirtualStore\Program Files\PROGRAMNAME 中创建 .exe.config 的副本,但这似乎并没有发生,尤其是在我们的 Citrix 环境中.

有没有办法将这些特定的 appSettings 重新定位到用户可写位置的文件中?

你可以的。像这样阅读配置文件:

Configuration App_Config = 
ConfigurationManager.OpenExeConfiguration("C:\Temp\PROGRAMNAME.exe");

这样,它会在指定路径C:\Temp

中寻找配置文件PROGRAMNAME.exe.config

请注意路径未指定为 C:\Temp\PROGRAMNAME.exe.config

Here

获取更多信息