См. Документацию по ConfigurationManager :
Свойство AppSettings:
Получает данные AppSettingsSection для текущего приложения по умолчанию
конфигурации.
Вам нужно проделать небольшую дополнительную работу, чтобы получить данные, которые не в файле конфигурации по умолчанию вашего приложения.
Вместо использования атрибута file=
, добавьте ключ к вашему <appSettings>
, который определяет местоположение вторичного файла конфигурации, например:
<add key="configFile" value="sd.config"/>
Затем, чтобы использовать ConfigurationManager для извлечения настроек из вторичного файла конфигурации, вам нужно использовать его OpenMappedExeConfiguration метод , который должен выглядеть примерно так:
var map = new ExeConfigurationFileMap();
map.ExeConfigFilename = Path.Combine(
AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
ConfigurationManager.AppSettings["configFile"]
);
//Once you have a Configuration reference to the secondary config file,
//you can access its appSettings collection:
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
var userName1 = config.AppSettings["username1"];
Этот код не может быть мертвым для вашего примера, но, надеюсь, он выведет вас на правильный путь!