¿Por qué log4net 1.2.10 requiere System.Web?

Estoy escribiendo este código en una aplicación de consola dirigida al .NET Framework 4 Client Profile.

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

Cuando se ejecuta, falla con un error de conversión de tipo.

No se pudo convertir de 'Castle.Services.Logging.Log4netIntegration.Log4netFactory, Castle.Services.Logging.Log4netIntegration, Version = 2.5.1.0, Culture = neutral, PublicKeyToken = 407dd0808d44fbdc' a System.Type - Quizás no se pudo encontrar el tipo

Esto se debe a que el ensamblado Castle.Services.Logging.log4netIntegration no se copia en la carpeta de salida. Como una dependencia de tiempo de ejecución solamente, esto no interrumpe la compilación.

Mirando el proceso de compilación, descubrí que no estaba copiando log4net o el ensamblaje de las instalaciones de Castle porque dependen de System.Web, que no está disponible en el Perfil del cliente. Cambiar al perfil estándar significa que esta dependencia está disponible y la instalación se puede agregar.

¿Por qué se hace esto? ¿Qué diferencia hace que no esté apuntando al perfil del cliente en una aplicación de consola diseñada para usarse como una tarea programada en un servidor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta