Общая конфигурация.Проблемы с адаптером log4net - PullRequest
2 голосов
/ 07 марта 2012

Получено следующее исключение

Не удалось получить конфигурацию для Common.Logging из раздела конфигурации 'common / logging'.

при попытке запустить следующий код

Common.Logging.ILog logger = Common.Logging.LogManager.GetCurrentClassLogger();

App.Config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
        <arg key="configType" value="INLINE" />
      </factoryAdapter>
    </logging>
  </common>

  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="FileAppender" />
    </root>
    <appender name="FileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="log.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
      </layout>
    </appender>
  </log4net>

  <connectionStrings>
    <add name="ManagementEntities" connectionString="metadata=res://*/Model.ManagementModel.csdl|res://*/Model.ManagementModel.ssdl|res://*/Model.ManagementModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\Data\Management.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

1 Ответ

0 голосов
/ 17 мая 2012

Приведенная выше конфигурация кажется мне правильной (если я не пропустил что-то очевидное), и я столкнулся с подобной проблемой, когда скопировал конфигурацию, которая работала в другом проекте - оказывается, я использовал «Профиль клиента»версия .NET Framework в качестве цели.

Чтобы изменить это, щелкните правой кнопкой мыши проект в обозревателе решений и выберите свойства.Если раскрывающийся список «Target Framework» имеет значение .NET Framework X Client Profile, переключите его на .NET Framework X, где X - это версия .NET, которую вы используете.

...