Почему добавление раздела **appSettings** в App.config может вызвать ошибку в приложении WPF?

В моем приложении WPF (составном приложении) я хочу сохранить переменную в файле App.config, но как только я добавлю раздел appSettings в App.config, он дает мне эту ошибку:

Инициализатор типа для System.Windows.Application вызвал исключение.

App.Config:

<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
      <appSettings>
          <add key="SmartFormMockDirectory" value="C:\test"/>
      </appSettings>
    <configSections>
    </configSections>
    <system.serviceModel>
      <bindings>
        <basicHttpBinding>
          <binding name="Service1Soap" closeTimeout="00:01:00" openTimeout="00:01:00"
            receiveTime...

В целом я знаю, что это работает, , поскольку я могу заставить его работать в таких простых приложениях, как это< /а>.

Что может быть причиной вышеуказанной ошибки и как ее исправить, чтобы можно было просто добавить переменные в файл App.config?


person Edward Tanguay    schedule 03.08.2009    source источник
comment
С исключениями Type Initializer вы должны попытаться запросить InnerException. Обычно есть один. В этом случае это дало бы вам лучший ответ. Впрочем, скорее всего, Андрей прав.   -  person Anderson Imes    schedule 03.08.2009


Ответы (1)


Кажется, он жалуется, что вы разместили свой узел <appSettings> над узлом <configSections>. Либо переместите узел <configSections> вверх, чтобы он был первым элементом в файле, либо удалите его (поскольку вы, похоже, его не используете).

Из configSections Element:

Если элемент configSections находится в файле конфигурации, элемент configSections должен быть первым дочерним элементом элемента конфигурации.

person Andrew Hare    schedule 03.08.2009
comment
Это сводило меня с ума! Помещение configSections в качестве самого первого элемента даже о «запуске» решило эту проблему. - person Bill Sambrone; 08.01.2015
comment
У меня был дубликат тега appSettings. Удаление дубликата исправило это для меня. - person Pierre Nortje; 11.09.2017