如何使用另一个应用程序修改AppData文件夹中的user.config?

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

我想从安装程序或不属于应用程序一部分的测试中编辑

user.config
文件,并使用我想要编辑的配置。因此我需要一条
user.config
的路径。 user.config 的路径是这样的:
c:\Users\SomeUser\AppData\Local\SomeApp\SomeAppName.exe_StrongName_2ndz3ofoffkd0gg0sv1qxyrthr3yi236\2.4.2.0\
.

使用

ConfigurationManager.OpenExeConfiguration(...)
我只从安装文件夹中获取
*.exe.config
路径,而不是 AppData。

第二个选项是折叠路径。除了正确的 StrongName 哈希值

2ndz3ofoffkd0gg0sv1qxyrthr3yi236
与程序集中的 StrongName (PublicKeyToken) 不匹配之外,我可以获得所有内容。

你能建议我以编程方式更改

user.config
吗?

c# wpf .net-4.8 configurationmanager user.config
1个回答
0
投票

以下方法可能对您有帮助:

    public void AddUpdateAppSettings(string key, string value)  
    {  
        try  
        {  
            System.Configuration.ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();  
            fileMap.ExeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + "..\\..\\user.config"; 
            Configuration configFile = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

            var settings = configFile.AppSettings.Settings;  
            if (settings[key] == null)  
            {  
                settings.Add(key, value);  
            }  
            else  
            {  
                settings[key].Value = value;  
            }

            configFile.Save(ConfigurationSaveMode.Modified);  
            ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);  
        }  
        catch (Exception e)  
        {  
            Console.WriteLine("Error writing user settings");  
        }  
    }
© www.soinside.com 2019 - 2024. All rights reserved.