我在Windows下使用.net 3.5SP1编写和编译了一个简单的.net命令行工具。我想使用Mono在Linux上运行它。
我正在使用Ubuntu 12.04,并使用Ubuntu软件中心安装了Mono Runtime。如果我尝试通过以下方式在终端中启动我的应用程序:
mono MyApp.exe
我收到错误:
未找到或无法加载程序集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)
]
答案 0 :(得分:92)
我通过安装mono-complete来实现它:
sudo apt-get install mono-complete
之后,我在usr / lib / mono
下有文件夹2.0,3.5,4.0等答案 1 :(得分:28)
如果您只想运行它,sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtime
就足够了。
答案 2 :(得分:4)
我遇到了同样的问题,对于我的发行版(ubuntu 12. 32位 ),mono-complete尚未提供。 所以我刚刚安装了以下软件包,并且已经提供了带有最重要的dll的单声道:
sudo apt-get install mono-dmcs
sudo apt-get install mono-gmcs
sudo apt-get install mono-devel
答案 3 :(得分:1)
你正在寻找的包是“libmono-system.data2.0-cil”,它与Mono-complete一起安装
答案 4 :(得分:1)
我跑sudo apt-get purge mono-*
然后sudo apt-get install mono-complete
。这在/ usr / lib / mono中创建了文件,但是在/ usr / local / lib / mono中查找不存在的文件时仍然会生成错误。
尝试将MONO_PATH更改为正确的位置,但无法正常工作。最后最终将整个目录复制到/ usr / local / lib,最终使其工作。