我想通过传递命令行参数来覆盖标准 app.config 的使用。如何更改默认应用程序配置文件,以便在访问 ConfigurationManager.AppSettings 时访问命令行中指定的配置文件?
编辑:
事实证明,加载不同于 EXE 名称加上 .config 的配置文件的正确方法是使用 OpenMappedExeConfiguration。例如
ExeConfigurationFileMap configFile = new ExeConfigurationFileMap();
configFile.ExeConfigFilename = Path.Combine(Environment.CurrentDirectory, "Shell2.exe.config");
currentConfiguration = ConfigurationManager.OpenMappedExeConfiguration(configFile,ConfigurationUserLevel.None);
这部分有效。我可以看到 appSettings 部分中的所有键,但所有值都是空的。