问题描述
我有一个使用.net 3.5SP1在Windows下编写和编译的简单.net命令行工具。我想使用Mono在Linux上运行它。
我正在使用Ubuntu 12.04,并使用Ubuntu软件中心安装了Mono Runtime。如果我尝试通过以下方式在终端中启动我的应用程序:
mono MyApp.exe
我得到错误:
The assembly mscorlib.dll was not found or could not be loaded. It should have been installed in the ‘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)
]
最佳方案
我通过安装mono-complete使其工作:
sudo apt-get install mono-complete
之后,我在usr /lib /mono下有文件夹2.0、3.5、4.0等
次佳方案
如果只想运行它,sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtime
可能就足够了。
第三种方案
我遇到了同样的问题,对于我的发行版(ubuntu12。32位),mono-complete尚未可用。所以我只安装了以下软件包,并且包含最重要dll的mono已可用:
sudo apt-get install mono-dmcs
sudo apt-get install mono-gmcs
sudo apt-get install mono-devel