我正在尝试使用mono来为linux构建一个C#应用程序。但似乎字典<>和列表<>不可用?我找不到任何解决这个问题的方法,我觉得这很奇怪,因为在我看来这两个是非常基本的......
这是测试代码
使用System.Collections.Generic;
namespace Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("TESTTEST");
List<string> s = new List<string>();
Console.Read();
}
}
}
这是控制台屏幕中的结果:
警告:支持运行时版本 由此应用程序不可用。 使用默认运行时:v1.1.4322
**(Test.exe:3152):警告**:班级 System.Collections.Generic.List`1 coul d不加载,在mscorlib中使用, 版本= 4.0.0.0,文化=中立, PublicKeyTo ken = b77a5c561934e089
未处理的例外情况: System.TypeLoadException:无法 加载类型'System.Colle 来自程序集的ctions.Generic.List`1' 'mscorlib,版本= 4.0.0.0, 文化=中立, 公钥= b77a5c561934e089' 。德鲁克 操作门票。 。
答案 0 :(得分:8)
这是问题所在:
使用默认运行时:v1.1.4322
您希望使用2.0或更高版本的运行时。
我的猜测是您正在使用mcs
进行编译 - 请尝试使用gmcs
或dmcs
。 gmcs
定位2.0,dmcs
定位4.0。有关详细信息,请参阅this documentation。
尝试安装最新版本的Mono;如果仍然失败,请查看是否可以确定安装了哪些运行时。
如果这些都没有帮助,请提供更多详细信息(例如您安装的Mono版本)。
答案 1 :(得分:0)
升级到Mono 2.10。它提供4.0类库,不再提供过时的1.1配置文件。