Error mono: Error CS0117: `System.io.file 'no contiene una definición de' LEADLINES '

StackOverflow https://stackoverflow.com/questions/8372501

  •  27-10-2019
  •  | 
  •  

Pregunta

Seguí este hilo para instalar mono en mi caja de Fedora:

Instale Mono en CentOS 5.5 usando YUM

Sin embargo, cuando intento compilar mi programa usando:

 gmcs foo.cs

Yo obtengo:

  foo.cs(11,44): error CS0117: `System.IO.File' does not contain a definition for `ReadLines'
/opt/novell/mono/lib/mono/2.0/mscorlib.dll (Location of the symbol related to previous error)

Fallado de compilación: 1 error (s), 0 advertencias

La línea en cuestión es:

 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;

 foreach(int currentMax in File.ReadLines(args[0]).Select(int.Parse)) 
 {
     ...
 }

¿Alguien puede señalarme en la dirección correcta?

¿Fue útil?

Solución

Entonces parece que el problema es que estás usando el gmcs compilador, que está diseñado específicamente para apuntar al tiempo de ejecución .NET 2.0. La lista de compiladores de C# para mono es:

  • MCS - .NET 1.1 Runtime (en desuso)
  • GMCS - .NET 2.0 Runtime
  • SMCS - .NET 2.1 Runtime
  • DMCS - .NET 4.0 Runtime

(ver aquí para más detalles)

Entonces, el compilador que debería usar para apuntar a .NET 4.0 es dmcs. En su lugar, si realmente tenía la intención de apuntar a .NET 2.0, use el File.ReadAllLines Método del que hablaron @kil y @minitech.

Otros consejos

Creo que quieres File.ReadTodosLines.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top