2011-07-20 41 views
5

Mientras jugueteaba con Naudio, encontré this código. Estoy compilando como:El tipo o el nombre del espacio de nombres 'Linq' no existe

csc.exe /reference:Naudio.dll play.cs 

y conseguir el error:

play.cs(3,14): error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)

La versión de CSC es: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Csc.exe

Mientras lo buscaba, encontré un hilo que dice que necesito agregar la referencia System.core, pero hacer algo como: /reference:System.core.dll o /reference:System.core no resuelve el problema.

+2

Utilice el compilador de .NET 3.5 o .NET 4.0 y el código se compilará como está. –

Respuesta

5

versión no admite de forma nativa Linq. Para resolver su problema, puede probar estos dos métodos:

  1. eliminar la referencia a Linq si es posible (como ya se ha sugerido por SS Kain).
  2. Si no desea eliminar Linq, utilice la versión superior. En lugar de usar csc desde C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.EXE, sugiero actualizar a la última versión de .NET (siempre que su implementación no tenga problemas con eso) e intente usar csc.exe desde allí.

    Uso C:\Windows\Microsoft.NET\Framework\v4.0.30319\ y eso funciona bien para mí.

    También tenga en cuenta que si utiliza el símbolo del sistema de Visual Studio 2010, esta ruta de acceso no se agrega de manera predeterminada a la variable de entorno PATH, por lo que deberá agregarla manualmente.

    set PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\

+0

Cuando navego y agrego C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ csc.exe y luego presiono agregar, agrega Una referencia a C: \ Windows \ ...... no se pudo agregar. No se encontraron tipos o bibliotecas en el componente. Gracias – User

4

yo creo que no es compatible con 2.0.50727Linq, retire Linq de referencias y de "usings" y esperemos que hay Linq declaraciones en el código

2

LINQ no es parte de .NET Framework 2, que le están usando. Pruebe una versión más nueva en su lugar.

1

parece que se debe quitar

using System.Linq; 

desde la parte superior de los play.cs de archivos, ya que esta referencia no está disponible en .Net 2.0, que está utilizando.

1

tuve una referencia a System.Xml.Linq y todavía tiene un error.

La solución para mí fue:

  1. Intercambiar .net ver a 2,0
  2. Reconstruir (falla)
  3. .net Intercambiar ver a 3,5 (en mi caso),
  4. Reconstruir (obras)
Cuestiones relacionadas