Почему log4net 1.2.10 требует System.Web?

Я пишу этот код в консольном приложении, предназначенном для клиентского профиля .NET Framework 4.

this.container.AddFacility<LoggingFacility>(
  f => f.LogUsing(LoggerImplementation.Log4net));

При запуске происходит сбой с ошибкой преобразования типа.

Не удалось преобразовать из 'Castle. Services.Logging.Log4netIntegration.Log4netFactory, Castle.Services.Logging.Log4netIntegration, Версия = 2.5.1.0, Культура = нейтральный, PublicKeyToken = 407dd0808d44fbdc ' в System.Type - Возможно, тип не может be found

Это связано с тем, что сборка Castle.Services.Logging.log4netIntegration не копируется в папку вывода. Поскольку это зависимость только во время выполнения, это не нарушает сборку.

Глядя на процесс сборки, я обнаружил, что он не копировал log4net или сборку средства Castle, потому что они зависят от System.Web, который недоступен в Профиль клиента. Переход к стандартному профилю означает, что эта зависимость доступна и средство может быть добавлено.

Почему это нужно сделать? Какая разница, что я не нацеливаюсь на профиль клиента в консольном приложении, предназначенном для использования в качестве запланированной задачи на сервере?

7
задан Simon Gill 9 June 2011 в 14:20
поделиться