.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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д