c# - ejemplo - Problema de dependencia de ensamblaje de referencia Log4net
log4net levels (5)
Como referencia para futuros usuarios:
¡No olvides INSTALAR también el marco al que te diriges! (Yo, yo mismo, pensé que porque todas las carpetas (v4.0x, v2.0X, etc.) estaban allí, tenía todos los marcos. ¡NO! Resulta que solo tenía el perfil de cliente .NET 4.0 instalado en mi sistema y podría no encuentra System.Web, a pesar de que el marco correcto fue el objetivo.
De todos modos, descargue su marco .net necesario aquí: .NET Frameworks Microsoft Downloads
Esta pregunta ya tiene una respuesta aquí:
- Log4Net en WCF no funciona 4 respuestas
Soy un desarrollador de Java y acabo de comenzar a aprender C # para desarrollar un proyecto en pareja. Me alegra ver que muchos marcos de Java con los que estoy acostumbrado a trabajar (log4j, ant, hibernate, etc.) tienen sus versiones .net (log4net, nant, nhibernate).
Acabo de crear un proyecto y traté de incluir la referencia de ensamblaje de log4net, pero tengo la siguiente advertencia (seguida de 4 errores que indican que no se reconocen el espacio de nombres y las clases de log4net):
El ensamblaje al que se hace referencia "log4net" no se pudo resolver porque tiene una dependencia en "System.Web, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" que no está en el marco de trabajo actual ".NETFramework, Version = v4 .0, perfil = cliente ". Elimine las referencias a ensamblajes que no se encuentren en el marco objetivo o considere volver a dirigir su proyecto.
Agregué la referencia a System.Web.ApplicationServices
y System.Web.Services
pero no está funcionando. Cualquier ayuda para resolver este problema de dependencia será muy apreciada.
Gracias
Configure su proyecto para que apunte al ".Net 4.0 Framework", no al ".Net 4.0 Framework Client Profile" en el cuadro de diálogo de propiedades del proyecto.
Sólo una pequeña actualización. Este problema se ha registrado hace casi 3 años y se solucionó este mes. Por lo tanto, la próxima versión de log4net (después de la versión 1.2.10) debería estar bien para trabajar con marcos de perfiles de clientes.
Si está recibiendo este error con la versión 1.2.11 y no desea cambiar el marco de su proyecto, simplemente instale la versión para el perfil del cliente. Esto está en la carpeta net-cp
en la distribución binaria.
ACTUALIZACIÓN :
Si aún recibe este error, está usando una versión desactualizada de log4net y debería considerar la actualización a la versión actual , que no requiere el marco completo de .NET 4.0. Gracias a @Philippe por señalar esto en un comentario.
Su proyecto hace referencia al perfil de cliente .NET 4.0 que no incluye System.Web; realmente necesita hacer referencia al marco completo .
Vea Cómo: Dirigirse a una versión o perfil específico de .NET Framework en MSDN para obtener instrucciones.
- En Visual Studio, abra el proyecto que desea cambiar.
- Haga clic derecho en el proyecto en el Explorador de soluciones y luego haga clic en Propiedades.
En el Diseñador de proyectos, localice la lista Marco de destino, de la siguiente manera.
- Para proyectos de Visual Basic, haga clic en la pestaña Compilar y luego haga clic en Opciones de compilación avanzadas. La lista del Marco de destino está en el cuadro de diálogo Configuración avanzada del compilador.
- Para los proyectos de Visual C #, la lista del Marco de destino está en la pestaña Aplicación del Diseñador de proyectos. Para obtener más información, consulte Página de la aplicación, Diseñador de proyectos (C #).
- Para los proyectos de Visual F #, la lista del Marco de destino está en la pestaña Aplicación del Diseñador de proyectos.
En la lista Marco de destino, seleccione la versión o el perfil de .NET Framework que desee. Cuando hace clic en Aceptar, el proyecto se descarga y luego se vuelve a cargar en el entorno de desarrollo integrado (IDE). El proyecto ahora se dirige a la versión de .NET Framework que acaba de seleccionar.
Posiblemente también sea de interés la solución de problemas de errores de orientación de .NET Framework .