当前位置: 首页>>技术教程>>正文


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

,

问题描述

我有一个使用.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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7933.html,未经允许,请勿转载。