我正试图让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>
有人发现我出错了吗?
答案 0 :(得分:6)
重新排序app.config - app.config的第一个元素必须是<configSections>
。如果您阅读配置异常详细信息,那将是显而易见的:)
“每个配置文件只允许一个
<configSections>
元素,如果 present必须是根元素的第一个子元素。“