我在控制台应用程序中的App.Config中的elmah设置有问题

时间:2015-03-26 13:34:34

标签: c# .net console-application elmah

我正试图让elmah在c#console应用程序中工作。

我知道它不是设计用于控制台应用程序,但我注意到其他人正在使用一些解决方法。我查看了相关帖子并找到了设置App.Config Here的示例,但是当我尝试插入configSections和elmah片段时,我得到了配置异常。

我在Web应用程序中多次使用过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>

有人发现我出错了吗?

1 个答案:

答案 0 :(得分:6)

重新排序app.config - app.config的第一个元素必须是<configSections>。如果您阅读配置异常详细信息,那将是显而易见的:)

  

“每个配置文件只允许一个<configSections>元素,如果   present必须是根元素的第一个子元素。“