2009-08-19 54 views
8

Estamos recibiendo un error al implementar un proyecto en uno de los servidores de nuestro cliente. El sistema funciona bien en nuestros entornos locales de desarrollo y distribución. El error es:El tipo o el nombre del espacio de nombres 'Linq' no existe en el espacio de nombres 'System.Data'

El tipo o espacio de nombres 'LINQ' no existe en el espacio de nombres 'System.Data'

que hemos hecho las comprobaciones evidentes: - Tenemos las referencias en el web.config para System.Data.Linq, System.Core, System.Linq, etc. - El marco de destino de nuestro proyecto es 3.5 - Hemos confirmado que la versión de ASP.NET en IIS en el servidor del cliente es 2.0.50727 - Tenemos confirmó que el servidor tiene Framework 3.5 instalado y contiene el DLL System.Data.Linq en la carpeta Windows/assemblies.

¿Alguna otra idea?

+1

Después de instalar los service packs (por Orion a continuación), y después de algunos reinicios, comenzó a funcionar. Todavía no estoy seguro de cuál era el problema de raíz, pero está funcionando ahora. – Keith

Respuesta

16

Tuve el mismo error de compilación al crear un proyecto a partir de scripts, mientras que Visual Studio 2010 creaba el mismo proyecto. Cuando intenté agregar la referencia de System.Core dentro de VS2010, apareció un error que decía que la referencia se establece implícitamente y no agregaba la referencia.

La solución para mí fue agregar manualmente la siguiente referencia en el archivo csproj. Nota marco de destino de la referencia se establece explícitamente a 3,5 (esto es en la parte superior del marco del objetivo del proyecto que se encuentra a 3,5):

<Reference Include="System.Core"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
</Reference> 
+0

Agregar una referencia a System.Core funcionó para nosotros en un proyecto SQL CLR que se convirtió a un proyecto de SQL Data Tools. – Seth

+0

Tengo este problema y ya se hace referencia a System.Core. –

+0

@HotLicks se hace referencia explícitamente como arriba en su archivo csproj? ¿Puedes abrir tu archivo .csproj y verificarlo? – Ashby

2

De here: 'Obtendrá este error si no se hace referencia a "System.Core.dll" (el ensamblado que contiene las API básicas de LINQ). Sin embargo, todas las plantillas predeterminadas deben incluir esta referencia cuando se dirige a .NET3.5. '

+0

De mi publicación original: "Tenemos las referencias en el web.config para System.Data.Linq, System.Core, System.Linq, etc." – Keith

2

tuve un problema similar el desarrollo de un sitio Web en Visual Web Developer 2010 con .NET 4.0 .

VWD podría encontrar el espacio de nombres "System.Linq" para archivos en App_Code, pero no de archivos en otros directorios . Extraño pero cierto.

El "proyecto" se abrió utilizando "Abrir sitio web" por lo que no había ningún archivo .csproj.

Copia:

C: \ Archivos de programa \ conjuntos de referencia \ Microsoft \ Framework \ .NETFramework \ v4.0 \ System.Core.dll

a la página web bin directorio ha provocado que VWD encuentre el espacio de nombres para los archivos en otros directorios.

Espero que ayude a alguien.

0

sé la pregunta ya está contestada, pero sólo para que quede claro, en cuanto a por qué es que en Visual Studio, conseguimos construir tenido éxito y se enfrentan a problemas cuando se trata de construir en SVN o algún otro repositorio?

Motivo: Es referenciado por el IDE cuando invoca el sistema de compilación, pero no por MSBuild.

Pero después de agregar la referencia como Ashby dijo anteriormente, seguramente funcionará bien. Este problema aún ocurre incluso durante Visual Studio 2012, y como era consciente de este hecho, lo hizo y todo comenzó a funcionar bien.

Saludos,

Varun Shringarpure

0

que tenían el mismo problema, pero una de las causas diferentes.

He cambiado la declaración del espacio de nombres en el archivo designer.cs del dbml. Cada vez que añadía un nuevo objeto a través del diseñador, Visual Studio revertía la declaración del espacio de nombres y la compilación fallaba.

Simplemente cambiando el espacio de nombres a lo que se supone que se solucionó el problema.

Cuestiones relacionadas