Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

mono

ubuntu

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) ]

like image 370
Warpin Avatar asked May 07 '12 22:05

Warpin


2 Answers

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

like image 75
Warpin Avatar answered Oct 12 '22 02:10

Warpin


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

like image 42
gfxmonk Avatar answered Oct 12 '22 01:10

gfxmonk