如何为从另一个应用程序加载的特定插件 .DLL 设置每个(漫游)用户配置设置的支持?
我有一个 .DLL 作为加载项/插件从另一个应用程序加载,并且希望独立于加载它的主应用程序,基于机器、.dll(=executable)、漫游用户保留特定于此的配置设置或用户个人资料。
我找到了System.Configuration.ExeConfigurationFileMap
看起来可能提供我需要的类,但我不知道如何为我的(插件)应用程序设置正确的路径。
我到目前为止的代码是:
public class MyConfigurationSettings : ConfigurationSection
{
public static MyConfigurationSettings GetSection (ConfigurationUserLevel ConfigLevel)
{
string configFile = Assembly.GetAssembly(typeof(MyConfigurationSettings)).Location + ".config";
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = configFile;
configFileMap.LocalUserConfigFilename = <localUserConfigFile>; // ??? What filename to place here and how to get it based on the current environment ???
configFileMap.RoamingUserConfigFilename = <roamingUserConfigFile>; // ???;
System.Configuration.Configuration Config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigLevel);
// ...
}
}
谁能指出我正确的方向?可用的文档和搜索结果太混乱或不足以让我正确理解这一点。抱歉,如果这似乎是一个愚蠢的问题,但我的 C# (.NET) 技能在 4 年多没有使用它来赚取日常面包后会生锈。
我也相信这主要不是关于配置设置管理的问题,而是如何获取安装特定应用程序实例配置的路径。