Tengo un proyecto de WCF Data Service creado con Visual Studio 2010, que funcionaba bien. De repente, ya no se compila. Me estaba dando mensajes como:
Error 7 El tipo o nombre de 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 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?
Respuestas:
He tenido el mismo problema y tuve que establecer el "Marco de destino" de todos los proyectos para que sea el mismo. Entonces se construyó bien. En el menú Proyecto, haga clic en Propiedades de ProjectName. Haz clic en la pestaña de compilación. Haga clic en Opciones de compilación avanzadas. En el Marco de destino, elija el marco que desee.
fuente
Tuve un problema con System.Linq no se reconoce. La
using
declaración tenía un color rojo ondulado, etc. La forma en que lo resolví fue cambiar mi sitio web para apuntar a dotnet 3.5, luego volver al marco de destino original (4.0 en mi caso).fuente
System.Linq
como una biblioteca válidaDescubrí que esto es causado por tener el mismo nombre de espacio de nombres que el nombre de la clase (
MyWorld.MyWorld = Namespace.ClassName
).Cambie su espacio de nombre a un nombre que no sea el mismo nombre que su clase y esto se compilará.
Fuente
fuente
Windows.Whatever
global::
Enfrenté el mismo problema con un sitio ASP.NET MVC cuando intenté usar LINQ to SQL . Arregle el problema por:
Explorador de soluciones -> Referencias -> Haga clic derecho en System.Data.Linq -> Copiar local (verdadero)
fuente
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. Los sincronicé, y luego funcionó :)
fuente
Tuve el mismo problema e intenté todo lo anterior sin ningún éxito, luego descubrí lo que 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.
fuente
He experimentado el mismo problema con System.Data.SQLite. La fuente del problema es que el dll que ha utilizado 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 objetivo de la plataforma por: Proyecto> (nombre del proyecto) Propiedades> Compilar.
fuente
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 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.
fuente
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 compilador me dijo que el error estaba ocurriendo en el proyecto en el que vivía el archivo. Terminó 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.
fuente
Encontré este problema al usar Git de Visual Studio integración para administrar el proyecto. Por alguna razón, el proyecto de Windows Phone 8 se compilaría bien al apuntar a x86, pero cuando lo configuré para apuntar a ARM, no se pudo compilar con un error que indica que "Publicidad" no existía en el espacio de nombres de Microsoft.
Terminé resolviendo el problema eliminando la referencia Microsoft.Advertising. *. Dll y agregándola nuevamente.
fuente
En mi caso no hubo cambios 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 quejosa intellisense para ese espacio de nombres / clase XXX funciona bien. El problema estaba en las referencias de hecho!
Pasos para reproducir:
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 se compila bien.Cambio en ProjectA: propiedad de referencia para log4net
Copy local: false
.This is because ProjectB
falta la carpeta bin biblioteca de terceros(log4net in my case)!
En este caso la solución sería:
Copy local: true
ofuente
Estoy haciendo referencia a Microsoft.CommerceServer.Runtime.Orders y experimenté este error. Este proyecto es antiguo y tiene Target framework .NET 2.0. En la salida tuve este error:
Simplemente cambié el framework de destino a .NET 4 y ahora se construye.
fuente
Y si todo lo demás falla, como asegurarse de que los marcos de destino son los mismos, y si se trata de una biblioteca de clase WPF en VS2010, simplemente reinicie Visual Studio. Eso lo hizo por mí.
fuente
type namespace error
ocurre. Y reinicio Visual Studio, después de reiniciar, el error dll original se muestra nuevamente, y lo volví a leer, y volví a construir, éxito.Experimenté los mismos errores. Después de descubrir que mi proyecto tenía un nombre de ensamblado 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.
fuente
Recibí un mensaje de error muy similar que fue causado por haber hecho inadvertidamente un duplicado de una clase en otro proyecto de mi solución. Eliminar el duplicado solucionó el problema
fuente
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 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 es posible que deba eliminar una DLL y la leí para corregir sus errores. Este fue el caso en mi escenario.
Eliminarlo
WebMatrix.WebData
y leerlo, así como agregarlo,WebMatrix.Data
corrigió mi error deThe type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...
.fuente
Elimine el archivo .refresh.dll si está bajo control de origen. Luego reconstruir. Deberia de funcionar. Esto funciono para mi
fuente