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

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

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

Собственно есть app.config Потребовало в него сохранять объекты более сложные чем просто ключ-значение. Но при попытке открыть его в конструкторе пишет ошибку. Не могу понять как его читать....
Листинг программы
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <configSections>
  4. <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
  5. <section name="CheckApp.Properties.Wa" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
  6. <section name="CheckApp.Properties.La" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
  7. </sectionGroup>
  8. </configSections>
  9. <connectionStrings>
  10. <add name="DatabaseConnection" connectionString="Data Source=127.0.0.1; Initial Catalog=instapay; User Id=App; Password=123456;" />
  11. </connectionStrings>
  12. <appSettings>
  13. </appSettings>
  14. <startup>
  15. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
  16. </startup>
  17. <system.web>
  18. <membership defaultProvider="ClientAuthenticationMembershipProvider">
  19. <providers>
  20. <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
  21. </providers>
  22. </membership>
  23. <roleManager defaultProvider="ClientRoleProvider" enabled="true">
  24. <providers>
  25. <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
  26. </providers>
  27. </roleManager>
  28. </system.web>
  29. <userSettings>
  30. <CheckApp.Properties.Wa>
  31. <MtSettings>
  32. <add PmId="2812" Id="1" PrivKey="*****" />
  33. <add PmId="2814" Id="1" PrivKey="*****" />
  34. </MtSettings>
  35. <setting name="Url" serializeAs="String">
  36. <value>https://test.com/</value>
  37. </setting>
  38. <setting name="CheckTimeOut" serializeAs="String">
  39. <value>25000</value>
  40. </setting>
  41. <setting name="CheckPeriod" serializeAs="String">
  42. <value>120</value>
  43. </setting>
  44. </CheckPaymentsApp.Properties.Wa>
  45. <CheckPaymentsApp.Properties.La>
  46. <setting name="Interface" serializeAs="String">
  47. <value>125</value>
  48. </setting>
  49. <setting name="Url" serializeAs="String">
  50. <value>https://test.com/</value>
  51. </setting>
  52. </CheckPaymentsApp.Properties.La>
  53. </userSettings>
  54. </configuration>
Решил забить на вписывание конфигов в app.config их слишком много, идея плохая. Решил считывать их и самого сервиса. Но как не понятно
Листинг программы
  1. return ConfigurationManager.OpenExeConfiguration($"{Environment.CurrentDirectory}\\ExternalServices\\{configName}config.config");
Ругается что Параметр 'exePath' является неверным.
О как интересно...
Листинг программы
  1. return ConfigurationManager.OpenExeConfiguration($"{Environment.CurrentDirectory}\\ExternalServices\\{configName}\\config.config");
Дергаю. Возвращает совершенно пустые конфиги. Делаю
Листинг программы
  1. configuration.Save();
И в папке появляется файл config.config.config и как это исправить не знаю. причем если я буду писать конфиги в нём то всё подтягивается

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

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

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


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

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

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы