Моно ошибка: ошибка CS0117: `System.IO.File 'не содержит определения для` ReadLines' - PullRequest
3 голосов
/ 04 декабря 2011

Я следовал этой теме, чтобы установить Mono на мою коробку Fedora:

Установить 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)) 
 {
     ...
 }

Кто-нибудь может указать мне правильное направление?

Ответы [ 2 ]

2 голосов
/ 04 декабря 2011

Похоже, проблема в том, что вы используете компилятор gmcs, который разработан специально для таргетинга среды выполнения .Net 2.0. Список компиляторов C # для моно:

  • mcs - .Net 1.1 runtime (устарело)
  • gmcs - .Net 2.0 runtime
  • smcs - .Net 2.1 runtime
  • dmcs - .Net 4.0 runtime

(подробнее см. здесь )

Итак, компилятор, который вы должны использовать для таргетинга на .Net 4.0, - dmcs Вместо этого, если вы действительно намеревались нацелиться на .Net 2.0, используйте метод File.ReadAllLines, о котором говорили @kil и @minitech.

0 голосов
/ 04 декабря 2011

Я верю, что вы хотите File.Read<strong>All</strong>Lines.

...