как мне скомпилировать с моно таргетингом C # / .net 4 - PullRequest
4 голосов
/ 01 октября 2011

Я установил mono 2.10.4 в Linux и пытался скомпилировать .NET C # 4 зависимую кодовую базу.Мне удалось скомпилировать в MonoDevelop, но это нужно сделать из командной строки / инструмента сборки.

при выполнении:

gmcs -langversion:4 -target:library -out:foo.dll ... <sources>

выдает следующую ошибку:

error CS1617: Invalid -langversion option `4'. It must be `ISO-1', `ISO-2', `3' 
or `Default'

Версия компилятора gmcs --version:

Mono C# compiler version 2.10.4.0

Дополнительные примечания:

  1. Ubuntu 11.04
  2. установить в /opt / mono-2.10
  3. моно сначала установить в путь

1 Ответ

7 голосов
/ 01 октября 2011

Я думаю, что вы хотите запустить dmcs вместо gmcs.Со страницы CSharp Compiler :

Начиная с Mono версии 2.6, доступен новый dmcs для компилятора в качестве предварительного просмотра C # 4.0 (предварительный просмотр, поскольку Mono 2.6 будет поставляться до C # 4.0 дофинализирован).

(Это немного устарело, так как я сейчас работаю с 2.10.5.0, но не берите в голову.)

РЕДАКТИРОВАТЬ: Альтернатива, используйте mcs как указано здесь , когда вы работаете 2.10.

Он не поддерживает определенный -langversion из 4, но компилятор Microsoft также не поддерживает:

/langversion:<string>      Specify language version mode: ISO-1, ISO-2, 3,
                           or Default
...