Как получить ТОЛЬКО строки подключения из app.config/web.config, а не machine.config?
Я хочу получить ТОЛЬКО строки подключения из app.config/web.config, а не machine.config.
В machine.config есть строка подключения, которая называется LocalSqlServer
msgstr "поставщик по умолчанию (как и ожидалось)" System.Data.SqlClient
", и строка подключения data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true",
В моем app.config / web.config у меня есть 3 строки подключения.
я использую
ConnectionStringSettingsCollection connections = ConfigurationManager.ConnectionStrings;
возвращает 4 соединения
var config1 = ConfigurationManager.OpenMachineConfiguration();
var cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
var fp1 = config1.FilePath;
возвращает 1 соединение и путь C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
возвращает 4 подключения и путь C:\TFS\Dev\Main\Apps\IntegracionEAI\bin\Debug\IntegracionEAI.exe.Config
config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
возвращает 4 подключения и путь C:\Users\xxxx\AppData\Roaming\HomeServe\HomeServe.IntegracionEAI._Url_uhllpkl5hcyqnrco0j4v2tqk1ifapr5j\1.0.0.0\user.config
config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
возвращает 4 подключения и путь C:\Users\xxxx\AppData\Local\HomeServe\HomeServe.IntegracionEAI._Url_uhllpkl5hcyqnrco0j4v2tqk1ifapr5j\1.0.0.0\user.config
var exePath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, AppDomain.CurrentDomain.SetupInformation.ApplicationName);
config1 = ConfigurationManager.OpenExeConfiguration(exePath);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
возвращает 4 соединения и путь C:\TFS\Dev\Main\Apps\Clientes\IntegracionEAI\bin\Debug\IntegracionEAI.exe.Config
Примечание: может быть другое для web.config.
Я получаю конфиг только с 3 строками соединения без строки соединения machine.config.
Примечание: я не хочу использовать <clear>
в конфигурационном файле.