.NET 4.x Работа с app.config - C#

Узнай цену своей работы

Формулировка задачи:

Собственно есть app.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");
Ругается что Параметр 'exePath' является неверным.
О как интересно...
            return ConfigurationManager.OpenExeConfiguration($"{Environment.CurrentDirectory}\\ExternalServices\\{configName}\\config.config");
Дергаю. Возвращает совершенно пустые конфиги. Делаю
 configuration.Save();
И в папке появляется файл config.config.config и как это исправить не знаю. причем если я буду писать конфиги в нём то всё подтягивается

Решение задачи: «.NET 4.x Работа с app.config»

textual
Листинг программы
ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap
            {
                ExeConfigFilename =
                        $"{Environment.CurrentDirectory}\\ExternalServices\\{configName}\\{configName}.config"
            }, ConfigurationUserLevel.None)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы