2010-08-15 50 views
1

单声道正常工作与我的应用程序,但是当我尝试编译像为什么我不能在Mono中使用C#4默认参数?

int Yo(int a, int b = 1) { 
    // blah... 
} 

它不工作的功能,它说,“默认参数指定不允许”

据Mono的网站

Mono C#编译器被认为是C#1.0,​​C#2.0和C#3.0(ECMA)的功能完整版。 C#4.0的预览版是随Mono 2.6发布的,Mono 2.8还提供完整的C#4.0实现,或者从我们的干线源代码版本构建Mono。

我怎样才能成功编译呢?

+1

嗯,你运行的是什么版本的单呢?这似乎是一个非常重要的细节添加到您的文章! – 2010-08-15 13:48:21

回答

5

我们C#4.0编译可作为“成员体”命令而不是在“的GMC”,“平滑肌细胞”或“MCS”的命令。

在Mono 2.8之后,我们将致力于让单个命令行编译器使您能够使用标志选择各种配置文件,但现在我们创建了不同的脚本,作为您想要的API配置文件/语言级别的前端使用

+0

哇,没想到米格尔回答我的问题:)谢谢。我非常喜欢Mono,祝你好运。你真的在开发.NET跨平台。 P.S.我如何要求MonoDevelop使用dmcs来编译我的ASP.NET MVC项目? – Alex 2010-08-16 06:28:46

+0

如果您安装了4.0运行时,您应该能够在“项目选项”中选择目标框架版本。 – 2010-08-16 14:54:51

+0

嗯......我没有这个选项,虽然我安装了.NET 4。 下面是屏幕截图: http://s51.radikal.ru/i134/1008/c5/2c9d0994e7af.jpg – Alex 2010-08-17 09:28:51

4

确保你已经得到单声道2.8 ... ...它没有被释放,所以你需要下载的来源。 git存档页面是here

尚未准备好,因此在使用C#4.0功能之前,您需要从源代码中获取它并编译单声道,并且只有在单声道团队已将这些功能写入其编译器时才提供。

+0

哦,这就是我认为的问题。它会在ASP.NET MVC 2框架下正常工作吗? – Alex 2010-08-15 13:51:00

+1

@Alex - 当前的单声道应该与MVC 2一样工作。 2.8分支尚未准备好 - 我不会冒险将其用于生产应用程序。 – Oded 2010-08-15 13:53:55

+0

好,谢谢,我会等待单声道2.8 – Alex 2010-08-15 13:56:51

相关问题