Mono Error: Error CS0117: `System.io.file 'не содержит определения для« чтения »
Вопрос
Я последовал за этой темой, чтобы установить моно на мою коробку с федорой:
Установите Mono на CentOS 5.5, используя YUM
Однако, когда я пытаюсь скомпилировать свою программу, используя:
gmcs foo.cs
Я получил:
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)
Компиляция не удалась: 1 Ошибка, 0 Предупреждения
Рассматриваемая линия:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
foreach(int currentMax in File.ReadLines(args[0]).Select(int.Parse))
{
...
}
Может кто-то указать мне верное направление?
Решение
Похоже, проблема в том, что вы используете gmcs
Компилятор, который предназначен специально для нацеливания времени выполнения .NET 2.0. Список компиляторов C# для Mono:
- MCS - .NET 1.1 Средство выполнения (устарело)
- GMCS - .net 2.0.
- SMCS - .net 2.1.
- DMCS - .net 4.0.
(видеть здесь Больше подробностей)
Таким образом, компилятор, который вы должны использовать для таргетинга .NET 4.0 dmcs
. Анкет Вместо этого, если вы на самом деле намеревались нацелиться на .net 2.0, то используйте File.ReadAllLines
Метод, о котором говорили @kil и @minitech.
Другие советы
Я считаю, что ты хочешь File.ReadВсеLines
.