单声道C#不识别列表和字典?

Bvd*_*Ven 6 c# mono dictionary

我正在尝试使用mono来为linux构建一个C#应用程序.但似乎Dictionary <>和List <>不可用?我找不到任何解决这个问题的方法,我觉得这很奇怪,因为在我看来这两个是非常基本的...

这是测试代码

使用System.Collections.Generic;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("TESTTEST");
            List<string> s = new List<string>();
            Console.Read();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是控制台屏幕中的结果:

警告:此应用程序支持的运行时版本不可用.使用默认运行时:v1.1.4322

**(Test.exe:3152):警告**:未加载类System.Collections.Generic.List`1 coul d,在mscorlib中使用,Version = 4.0.0.0,Culture = neutral,PublicKeyTo ken = b77a5c561934e089

未处理的异常:System.TypeLoadException:无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Colle ctions.Generic.List`1'.Druk op een toets om door tean...

Jon*_*eet 8

这就是问题:

使用默认运行时:v1.1.4322

您想要使用2.0运行时或更高版本.

我的猜测是你正在编译mcs- 尝试使用gmcsdmcs代替.gmcs目标2.0和dmcs目标4.0.有关详细信息,请参阅此文档.

编辑:啊,这看起来像是一个执行时问题,而不是编译时问题.您使用的是哪个版本的Mono?我怀疑它正试图找到4.0,但是失败了......你实际上是在运行已经在Windows上构建的代码吗?

尝试安装最新版本的Mono; 如果仍然失败,请查看是否可以确定已安装的运行时.

如果这些都没有帮助,请提供更多详细信息(例如您安装的Mono版本).