.NET 4.x Работа с app.config - C#
Формулировка задачи:
Собственно есть app.config
Потребовало в него сохранять объекты более сложные чем просто ключ-значение.
Но при попытке открыть его в конструкторе пишет ошибку.
Не могу понять как его читать....
Ругается что Параметр 'exePath' является неверным.
Дергаю. Возвращает совершенно пустые конфиги.
Делаю
И в папке появляется файл config.config.config
и как это исправить не знаю.
причем если я буду писать конфиги в нём то всё подтягивается
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="CheckApp.Properties.Wa" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> <section name="CheckApp.Properties.La" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections> <connectionStrings> <add name="DatabaseConnection" connectionString="Data Source=127.0.0.1; Initial Catalog=instapay; User Id=App; Password=123456;" /> </connectionStrings> <appSettings> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /> </startup> <system.web> <membership defaultProvider="ClientAuthenticationMembershipProvider"> <providers> <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" /> </providers> </membership> <roleManager defaultProvider="ClientRoleProvider" enabled="true"> <providers> <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" /> </providers> </roleManager> </system.web> <userSettings> <CheckApp.Properties.Wa> <MtSettings> <add PmId="2812" Id="1" PrivKey="*****" /> <add PmId="2814" Id="1" PrivKey="*****" /> </MtSettings> <setting name="Url" serializeAs="String"> <value>https://test.com/</value> </setting> <setting name="CheckTimeOut" serializeAs="String"> <value>25000</value> </setting> <setting name="CheckPeriod" serializeAs="String"> <value>120</value> </setting> </CheckPaymentsApp.Properties.Wa> <CheckPaymentsApp.Properties.La> <setting name="Interface" serializeAs="String"> <value>125</value> </setting> <setting name="Url" serializeAs="String"> <value>https://test.com/</value> </setting> </CheckPaymentsApp.Properties.La> </userSettings> </configuration>
Решил забить на вписывание конфигов в app.config их слишком много, идея плохая.
Решил считывать их и самого сервиса. Но как не понятно
return ConfigurationManager.OpenExeConfiguration($"{Environment.CurrentDirectory}\\ExternalServices\\{configName}config.config");
О как интересно...
return ConfigurationManager.OpenExeConfiguration($"{Environment.CurrentDirectory}\\ExternalServices\\{configName}\\config.config");
configuration.Save();
Решение задачи: «.NET 4.x Работа с app.config»
textual
Листинг программы
ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = $"{Environment.CurrentDirectory}\\ExternalServices\\{configName}\\{configName}.config" }, ConfigurationUserLevel.None)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д