El tipo o el nombre del espacio de nombres no existe

Tengo un proyecto de servicio de datos WCF creado con Visual Studio 2010, que funcionaba bien. De repente, no compiló más. Me estaba dando mensajes como:

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

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

Error 10 El tipo o el nombre del 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 el nombre del espacio de nombres ‘DataService’ (¿falta una directiva using o una referencia de ensamblado?)

¿Cómo puedo arreglarlo?

He tenido el mismo problema, y ​​tuve que establecer el “Marco de objectives” de todos los proyectos para que sean los mismos. Entonces construyó bien. En el menú Proyecto, haga clic en Propiedades de ProjectName. Haga clic en la pestaña de comstackción. Haga clic en Opciones de comstackción avanzada. En Target Framework, elija su marco deseado.

Tuve un problema con System.Linq al no ser reconocido. La statement using tenía un rojo ondulante, etc. La forma en que lo resolví fue cambiar mi sitio web a target dot 3.5, luego volver al marco original orientado (4.0 en mi caso).

Me enfrenté al mismo problema con un sitio ASP.NET MVC cuando traté de usar LINQ to SQL . Solucioné el problema por:

Explorador de soluciones -> Referencias -> Haz clic derecho en System.Data.Linq -> Copy Local (True)

Verifique que su marco de destino tenga las mismas versiones de .NET. Tuve el mismo problema y mi clase .NET era 3.5 y la solución web tenía 4.5. Sincronicé esos, y luego funcionó 🙂

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

Cambie su espacio de nombre a un nombre que no sea del mismo nombre que su clase y esto se comstackrá.

Fuente

Tuve el mismo problema e intenté todo lo anterior sin éxito, luego descubrí cuál era:

Creé una carpeta llamada “Sistema” en uno de mis proyectos y luego creé una clase en ella. El problema parece provenir de tener un espacio de nombres llamado “Sistema” cuando se crea el archivo .cs, incluso si está en un espacio de nombres de “MyProject.System”.

Mirando hacia atrás, puedo entender por qué esto causaría problemas. Realmente me sorprendió al principio ya que los mensajes de error inicialmente no parecen estar relacionados con el problema.

He experimentado el mismo problema con System.Data.SQLite. El origen del problema es que el dll que ha utilizado debe tener la misma versión de .NET con su proyecto.

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

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

En mi caso, el problema estaba sucediendo porque la clase que creé tenía un espacio de nombres que interfería con las clases existentes. La nueva clase A tenía el espacio de nombres zz.yy.xx (por error). Las referencias a objetos en otro espacio de nombres yy.xx no se estaban comstackndo 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.

PARA CUALQUIERA CON ARCHIVOS VINCULADOS: tuve este problema y estaba usando Silverlight y el archivo ofensivo que arrojaba este error era un archivo vinculado.

El error del comstackdor me dijo que el error estaba ocurriendo en el proyecto en el que vivía el archivo. Resultó que el error NO estaba en ese proyecto, estaba ocurriendo en el proyecto que contenía el archivo vinculado. A ese proyecto le faltaba una referencia.

En mi caso no hubo cambios en los proyectos, simplemente se detuvo para comstackr y con “tipo o nombre de espacio de nombres XXX no existe” y en la clase denunciante en sí intellisense para que XXX namespace / class funcione bien. ¡El problema estaba en las referencias!

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 comstack bien.

  2. Cambio en el Proyecto A: propiedad de referencia para log4net a Copy local: false .

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

This is because ProjectB carpeta This is because ProjectB bin no tiene 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.

Me refiero a Microsoft.CommerceServer.Runtime.Orders y experimenté este error. Este proyecto es antiguo y tiene el marco de destino .NET 2.0. En salida, tuve este error:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "Microsoft.CommerceServer.Runtime" could not be resolved because it has an indirect dependency on the framework assembly "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v2.0". To resolve this problem, either remove the reference "Microsoft.CommerceServer.Runtime" or retarget your application to a framework version which contains "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 

Simplemente cambié el marco de destino a .NET 4 y ahora se construye.

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 de WPF en VS2010, simplemente reinicie Visual Studio. Eso lo hizo por mí.

Encontré este problema al usar la integración de Git de Visual Studio para administrar el proyecto. Por alguna razón, el proyecto Windows Phone 8 se comstackría muy bien cuando se apunta a x86, pero cuando lo configuré para el ARM de destino, no se comstackría con un error que indicara que “Publicidad” no existía en el espacio de nombres de Microsoft.

Terminé resolviendo el problema eliminando la referencia Microsoft.Advertising. *. Dll y volviéndola a agregar.

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

Recibí un mensaje de error muy similar que fue causado inadvertidamente al hacer un duplicado de una clase en otro proyecto de mi solución. Eliminar el duplicado solucionó el problema

Recientemente necesité hacer una Restauración del sistema y causó que varios de mis archivos cambiaran / desaparecieran en los que había estado trabajando desde la restauración. Algunos de esos fueron archivos DLL. Usé Source Control para recuperar todo el proyecto, pero todavía tenía un problema similar al anterior. Encontré esta respuesta que describía que podría necesitar eliminar una DLL y leerla para corregir los errores. Este fue el caso en mi escenario.

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

Elimine el archivo .refresh.dll si está bajo el control de código fuente. Entonces reconstruye. Deberia de funcionar. Esto funcionó para mí