c# Tipo o nombre de espacio de nombres no existe





8 Answers

Tuve un problema con System.Linq no siendo reconocido. La declaración de using tenía un ondulado rojo, etc. La forma en que lo resolví fue cambiar mi sitio web para apuntar a dotnet 3.5, luego volver al marco original (4.0 en mi caso).

c# .net visual-studio-2010 visual-studio

Tengo un proyecto de servicio de datos WCF construido con Visual Studio 2010, que estaba funcionando bien. De repente, ya no se compilaba. Me estaba dando mensajes como:

Error 7 El tipo o el nombre del espacio de nombres 'Servicios' no existe en el espacio de nombres 'Datos del sistema' (¿falta una referencia de ensamblado?) C: \ U ... s \ Visual Studio 2010 \ Projects ... \ DataService. cs ...

Error 8 El tipo o nombre de espacio de nombres 'Linq' no existe en el espacio de nombres 'Sistema' (¿falta una referencia de ensamblaje?) DependencyResolver.cs 3 14

Error 10 El tipo o nombre de espacio de nombres 'Web' no existe en el espacio de nombres 'System.ServiceModel' (¿falta una referencia de ensamblado?)

Error 12 No se pudo encontrar el tipo o nombre de espacio de nombres 'DataService' (¿falta una directiva de uso o una referencia de ensamblado?)

¿Cómo puedo arreglarlo?




Descubrí que esto se debe a que tengo el mismo nombre de espacio de nombres que nombre de clase ( MyWorld.MyWorld = Namespace.ClassName ).

Cambie su espacio de nombres a un nombre que no sea el mismo nombre que su clase y esto se compilará.

Source




He experimentado el mismo problema con System.Data.SQLite. La fuente del problema es que la dll que ha usado debe tener la misma versión .NET con su proyecto.

Por ejemplo, si ha utilizado (en mi caso) SQLite para .NET 4.5, el objetivo de su plataforma también debería ser .NET 4.5.

Puede encontrar el destino de la plataforma por: Proyecto> (nombre del proyecto) Propiedades> Generar.




En mi caso, el problema estaba ocurriendo porque la clase que creé tenía un espacio de nombres que interfería con las clases existentes. La nueva clase A tenía un espacio de nombres zz.yy.xx (por error). Las referencias a objetos en otro espacio de nombres yy.xx no se estaban compilando en la clase A u otras clases cuyo espacio de nombres era zz.

Cambié el espacio de nombres de la clase A a yy.xx, que debería haber sido, y comenzó a funcionar.




En mi caso, no hubo ningún cambio en los proyectos, simplemente se detuvo para compilar y con "el tipo o el nombre del espacio de nombres XXX no existe" y en la clase reclamante intellisense para ese espacio de nombres XXX / clase funciona bien. ¡El problema estaba en las referencias de hecho!

Pasos para reproducir:

  1. La solución tiene ProjectA, ProjectB. ProjectA hace referencia a log4net de terceros y está marcado Copy local: true . ProjectB hace referencia a ProjectA y no tiene referencia a log4net. La solución compila bien.

  2. Cambio en ProjectA: propiedad de referencia para log4net para Copy local: false .

  3. Limpie las carpetas bin y obj.
  4. Cuando compilas, ProjectA compila, pero ProjectB se queja de no encontrar el espacio de nombres de ProjectA.

This is because ProjectB carpeta bin de This is because ProjectB le falta una biblioteca de terceros (log4net in my case)!

En este caso la solución sería -

  1. asegúrese de que las referencias de las bibliotecas de terceros estén configuradas en Copy local: true o
  2. agregar ruta a dichas bibliotecas en las propiedades del proyecto en la ruta de referencia.



Y si todo lo demás falla, como asegurarse de que los marcos de destino son los mismos, y está tratando con una biblioteca de clases WPF en VS2010, simplemente reinicie Visual Studio. Eso lo hizo por mí.




Experimenté los mismos errores. Después de descubrir que mi proyecto tenía el nombre de ensamblaje incorrecto (copié archivos de un proyecto diferente y los espacios de nombres se confundieron un poco), y lo cambié de nuevo, el proyecto se compiló muy bien.




Hace poco tuve que hacer una Restauración del sistema y causó que varios de mis archivos cambiaran o desaparecieran en los que había estado trabajando desde la restauración. Algunos de esos eran archivos DLL. Utilicé Source Control para recuperar todo el proyecto, pero aún tenía un problema similar al anterior. Encontré esta respuesta que describe que puede necesitar eliminar una DLL y leerla para corregir sus errores. Este fue el caso en mi escenario.

Eliminar WebMatrix.WebData y leerlo, así como agregar WebMatrix.Data corrigió mi error de The type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...




Related