2015-03-26 3 views
3

Я пытаюсь заставить elmah работать в консольном приложении C#.У меня возникли проблемы с настройками elmah в App.Config в консоли App

Я знаю, что он не предназначен для работы в консольных приложениях, но я заметил, что другие люди делают это с использованием некоторых обходных решений. Я просмотрел связанные сообщения и нашел пример установки App.Config Here, но когда я пытаюсь вставить фрагменты configSections и elmah, я получаю Исключения конфигурации.

Я использовал elmah во многих случаях в веб-приложениях, и я думаю, что мне просто нужно отсортировать файл App.Config. Возможно, я поставил что-то не в то место.

Вот мой App.Config файл (со строкой подключения намеренно хэшированного)

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /> 
    </startup> 
    <connectionStrings> 
     <add name="elmah-mysql" connectionString="###############" providerName="MySQL.Data" /> 
    </connectionStrings>  
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
      <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-6.7.4.0" newVersion="6.7.4.0" /> 
      </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
    <configSections> 
     <sectionGroup name="elmah"> 
      <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/> 
      <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/> 
      <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/> 
      <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/> 
     </sectionGroup> 
    </configSections> 
    <elmah> 
     <errorLog type="Elmah.MySqlErrorLog, Elmah" connectionStringName="elmah-mysql" /> 
    </elmah> 
</configuration> 

Любое место, где я пошло не так?

ответ

6

Измените порядок использования app.config - первым элементом вашего app.config должен быть <configSections>. Было бы очевидно, если прочитать подробности исключения конфигурации :)

«Только один <configSections> элемент позволил в конфигурационный файл и если настоящее время должен быть первым потомком корневого элемента.»

+0

Спасибо, что решил. Да, я думаю, что у меня был плохой день, бросаясь из одной проблемы в другую и не мог правильно проверить сообщение. –

 Смежные вопросы

  • Нет связанных вопросов^_^