[Mono-list] cannot find metadata file MySql.Data.dll

jmalcolm malcolm.justin at gmail.com
Fri Apr 23 11:32:08 EDT 2010

In your original post you said you tried the following:

mcs test.cs -r:System.Data.dll -r:MySql.Data.dll

All I am saying is to replace the 'mcs' with 'gmcs':

gmcs test.cs -r:System.Data.dll -r:MySql.Data.dll

Mono uses several different compilers to support compiling against different
assemblies, different versions of the framework, and targeting different

mcs - Compiles against the 1.1 CLR assemblies (no generics support)
gmcs -  Compiles against the 2.0 CLR (which includes up to what we think of
as .NET 3.5)
dmcs - Compiles against the 4.0 CLR (work in progress in Mono 2.6+)
smcs - Compiles against the Moonlight/Silverlight assemblies (version 2.1
for some reason)

My guess is that the MySql.Data.dll assembly you are using was built for use
with .NET 2.0 (which includes up to 3.5).  You should be referencing
System.Data.dll 2.0 when you build with it so you should be compiling with
'gmcs'.  According to your original post, you are trying to compile with
'mcs' which means the version of System.Data.dll that will be referenced is
1.0 instead of 2.0.

I use 'gmcs' for 90+% of everything I do with Mono.

Since you said you were using Mono 2.4, will probably not even have 'dmcs'
or 'smcs'.

Good luck.


My guess is that this is what the names mean:

mcs = Mono C# (or Mono C sharp)
gmcs = Generics mcs (generics being .NET 2.0 feature)
dmcs = Dynamic mcs (dynamic being a 4.0 feature)
smcs = Silverlight mcs (Moonlight being an implementation of Silverlight)

These are just guesses but it may help you remember what is what.
View this message in context: http://mono.1490590.n4.nabble.com/cannot-find-metadata-file-MySql-Data-dll-tp2018275p2062368.html
Sent from the Mono - General mailing list archive at Nabble.com.

More information about the Mono-list mailing list