Mono -Fehler: Fehler CS0117: "System.io.file" enthält keine Definition für "Leadlines"
Frage
Ich folgte diesem Thread, um Mono in meiner Fedora -Box zu installieren:
Installieren Sie Mono auf CentOS 5.5 mit Yum
Wenn ich jedoch versuche, mein Programm mit: zusammenzustellen:
gmcs foo.cs
Ich bekomme:
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)
Kompilierung fehlgeschlagen: 1 Fehler (en), 0 Warnungen
Die fragliche Zeile lautet:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
foreach(int currentMax in File.ReadLines(args[0]).Select(int.Parse))
{
...
}
Kann mir jemand in die richtige Richtung verweisen?
Lösung
Es sieht also so aus, als wäre das Problem, dass Sie die verwenden gmcs
Compiler, der speziell für die Targeting der .NET 2.0 -Laufzeit entwickelt wurde. Die Liste der C# Compiler für Mono lautet:
- MCS - .NET 1.1 Laufzeit (veraltet)
- GMCS - .NET 2.0 Laufzeit
- SMCS - .NET 2.1 Laufzeit
- DMCS - .NET 4.0 Laufzeit
(sehen hier für mehr Details)
Der Compiler, den Sie für die Targeting von .net 4.0 verwenden sollten, ist also dmcs
. Wenn Sie stattdessen tatsächlich beabsichtigt haben, .NET 2.0 zu zielen, verwenden Sie die File.ReadAllLines
Methode, über die @kil und @minitech gesprochen haben.
Andere Tipps
Ich glaube du willst File.ReadAlleLines
.