Unable to run .net app with Mono - mscorlib.dll not found (version mismatch?)

UbuntuMono

Ubuntu Problem Overview


I have a simple .net command line tool written and compiled under Windows, using .net 3.5SP1. I would like to run it on Linux using Mono.

I am using Ubuntu 12.04, and installed Mono Runtime using the Ubuntu software center. If I try to start my app in the terminal by doing:

mono MyApp.exe

I get the error: > 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'.

If I navigate to that location, I see that it does not exist. However, there is usr/lib/mono/4.0/mscorlib.dll (and some more DLLs in the same folder).

So seemingly there is a version mismatch.

[in case it matters, mono -V shows Mono JIT compiler version 2.10.8.1 (Debia 2.10.8.1-1ubuntu2) ]

Ubuntu Solutions


Solution 1 - Ubuntu

I got it to work by installing mono-complete:

sudo apt-get install mono-complete

After that, I had folders 2.0, 3.5, 4.0 and more under usr/lib/mono

Solution 2 - Ubuntu

If you just want to run it, sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtime may suffice.

Solution 3 - Ubuntu

i got the same problem, for my distro (ubuntu 12. 32 Bit ), mono-complete has not been available. so i just installed the following packages, and mono with the most important dlls has been available:

sudo apt-get install mono-dmcs
sudo apt-get install mono-gmcs
sudo apt-get install mono-devel

Solution 4 - Ubuntu

the package you're looking for was "libmono-system.data2.0-cil" which is installed with Mono-complete

Solution 5 - Ubuntu

I ran sudo apt-get purge mono-* and then sudo apt-get install mono-complete. This created the files in /usr/lib/mono, however the error was still generated where it was looking for the file in /usr/local/lib/mono which didn't exist.

Tried to change MONO_PATH to the correct location, but didn't work. Finally ended up copying the whole directory to /usr/local/lib which finally got it to work.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWarpinView Question on Stackoverflow
Solution 1 - UbuntuWarpinView Answer on Stackoverflow
Solution 2 - UbuntugfxmonkView Answer on Stackoverflow
Solution 3 - UbuntuThomas HallerView Answer on Stackoverflow
Solution 4 - UbuntuKomak57View Answer on Stackoverflow
Solution 5 - UbuntuhpdView Answer on Stackoverflow