我有一些使用Tuple
s 的 C# 代码:
public class Test {
static void Main() {
Tuple<int, int> t = Tuple.Create(0, 1);
}
}
我尝试使用编译
mcs -debug+ -o Test.exe Test.cs
但它给出了错误
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
,但这也不起作用:
$ 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'
(后跟堆栈跟踪)。
我在跑步:
$ mcs --version
Mono C# compiler version 2.10.8.1
在 Ubuntu Precise 上。根据文档,Mono 从 2.8 版开始就支持 .NET 4.0,特别是支持System.Tuple
.NET ,所以这不应该是问题。
如何编译使用Tuple
s 的代码?