我在linux上安装了单声道2.10.4,并且一直在尝试编译依赖于.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
补充说明:
答案 0 :(得分:7)
我认为您想要运行dmcs
而不是gmcs
。来自CSharp Compiler page:
从Mono 2.6版本开始,新的编译器dmcs可用作C#4.0的预览版(预览,因为Mono 2.6将在C#4.0完成之前发布)。
(因为我现在运行的是2.10.5.0,所以有点过时了,但没关系。)
编辑:替代方案,使用mcs
as specified here,因为您正在运行2.10。
它不支持4的特定-langversion
,但Microsoft编译器也不支持:
/langversion:<string> Specify language version mode: ISO-1, ISO-2, 3, or Default