首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mono的mcs使用Tuple编译代码

使用Mono的mcs使用Tuple编译代码
EN

Stack Overflow用户
提问于 2012-11-18 10:00:14
回答 1查看 1.8K关注 0票数 3

我有一些使用Tuples的C#代码:

代码语言:javascript
复制
public class Test {
    static void Main() {
        Tuple<int, int> t = Tuple.Create(0, 1);
    }
}

我尝试使用以下命令编译

代码语言:javascript
复制
mcs -debug+ -o Test.exe Test.cs

但是它给出了错误

代码语言:javascript
复制
Test.cs(3,9): error CS0246: The type or namespace name `Tuple' could not be found. Are you missing a using directive or an assembly reference?
Compilation failed: 1 error(s), 0 warnings

我认为它可能是在尝试针对缺少元组的旧版本的mscorlib进行编译。查看手册页,您似乎使用-sdk:4指定了版本,但这也不起作用:

代码语言:javascript
复制
$ mcs -sdk:4 Test.cs

Unhandled Exception: System.TypeLoadException: Type 'System.Dynamic.BinaryOperationBinder' not found in assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'                                                                                                                                                                         

(后跟堆栈跟踪)。

我正在运行:

代码语言:javascript
复制
$ mcs --version
Mono C# compiler version 2.10.8.1

在Ubuntu Precise上。根据文档,Mono从2.8版本开始支持.NET 4.0,特别是supports System.Tuple,所以这不应该是问题所在。

如何编译使用Tuple的代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-18 15:58:46

我预计它在mcs上会失败,但在dmcs上可以工作。我刚刚在Windows2.10.9上安装了Mono2.10.9,这是我对你的代码(包括顶部的using System; )的结果:

代码语言:javascript
复制
c:\Users\Jon\Test>mcs Test.cs
    Test.cs(4,9): error CS0246: The type or namespace name `Tuple' could not be
    found. Are you missing a using directive or an assembly reference?
    Compilation failed: 1 error(s), 0 warnings

c:\Users\Jon\Test>dmcs Test.cs
    Test.cs(4,25): warning CS0219: The variable `t' is assigned but its value is
    never used
    Compilation succeeded - 1 warning(s)

不同之处在于dmcs默认使用框架v4,而mcs使用v2。您只需指定v4框架即可使其与mcs一起工作:

代码语言:javascript
复制
mcs -sdk:4 Test.cs

试一试,还要仔细检查一下,当你使用dmcs时,你真的遇到了同样的问题。如果您看到它不是一个干净的编译,但没有注意到它是一个不同的消息,我不会感到惊讶。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13436784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档