Mono erreur: erreur CS0117: `System.IO.File » ne contient pas une définition pour `readlines
Question
J'ai suivi ce fil à installer Mono sur ma boîte Fedora:
Installer Mono sur CentOS 5.5 en utilisant YUM
Cependant, quand je tente de compiler mon programme en utilisant:
gmcs foo.cs
J'obtenir:
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)
Compilation a échoué: 1 erreur (s), 0 avertissements
La ligne en question est:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
foreach(int currentMax in File.ReadLines(args[0]).Select(int.Parse))
{
...
}
point Quelqu'un peut-moi dans la bonne direction?
La solution
il semble donc que le problème est que vous utilisez le compilateur gmcs
, qui est conçu spécifiquement pour cibler le moteur d'exécution .Net 2.0. La liste des compilateurs C # pour la mono est:
- mcs - .Net 1.1 exécution (dépréciée)
- gmcs - runtime .Net 2.0
- - CML .Net 2.1 runtime
- dmcs - .Net 4.0 runtime
Alors que le compilateur vous devriez utiliser pour le ciblage .Net 4.0 est dmcs
. Au lieu de cela, si vous avez réellement l'intention de cibler .Net 2.0, utilisez la méthode File.ReadAllLines
que @kil et @minitech parlé.
Autres conseils
Je crois que vous voulez File.ReadAllLines
.