无法运行带有Mono的.net应用程序 - 找不到mscorlib.dll(版本不匹配?)

War*_*pin 67 ubuntu mono

我有一个简单的.net命令行工具在Windows下编写和编译,使用.net 3.5SP1.我想在Linux上使用Mono运行它.

我正在使用Ubuntu 12.04,并使用Ubuntu软件中心安装了Mono Runtime.如果我尝试在终端中启动我的应用程序:

mono MyApp.exe
Run Code Online (Sandbox Code Playgroud)

我收到错误:

未找到或无法加载程序集mscorlib.dll.它本应安装在'usr/lib/mono/2.0/mscorlib.dll'中.

如果我导航到该位置,我发现它不存在.但是,usr/lib/mono/4.0/mscorlib.dll(在同一文件夹中有一些DLL).

所以看似版本不匹配.

[万一重要,mono -V节目Mono JIT compiler version 2.10.8.1 (Debia 2.10.8.1-1ubuntu2)]

War*_*pin 92

我通过安装mono-complete来实现它:

sudo apt-get install mono-complete
Run Code Online (Sandbox Code Playgroud)

之后,我在usr/lib/mono下有文件夹2.0,3.5,4.0等


gfx*_*onk 28

如果你只是想运行它,sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtime可能就足够了.

  • 这个答案比"安装全单声道"更准确.全单声道需要~170Mb而NET 2.0库需要~45Mb. (3认同)