I am attempting to use the MySql Entity Framework 6 (EF6) libraries on linux with Mono but the EF6 library cannot be loaded by mono. For example: [XXXXXXX@localhost]$ unzip mysql-connector-net-6.9.5-noinstall.zip [XXXXXXX@localhost]$ cd v4.5 [XXXXXXX@localhost v4.5]$ monop -r ./MySql.Data.Entity.EF6.dll Assembly Information: MySql.Data.Entity.EF6 Version=6.8.4.0 Culture=neutral PublicKeyToken=c5687fc88969c44d Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded. at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (System.Reflection.Assembly,bool) at System.Reflection.Assembly.GetExportedTypes () [0x00000] in :0 at MonoP.PrintTypes (System.String assembly, Boolean show_private, Boolean filter_obsolete) [0x00000] in :0 at MonoP.Main (System.String[] args) [0x00000] in :0 [ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded. at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (System.Reflection.Assembly,bool) at System.Reflection.Assembly.GetExportedTypes () [0x00000] in :0 at MonoP.PrintTypes (System.String assembly, Boolean show_private, Boolean filter_obsolete) [0x00000] in :0 at MonoP.Main (System.String[] args) [0x00000] in :0 I noticed this after attempting to run a bare bones Hello World program that creates an entity stored in a support library. When I attempted to run this program I got the following stack trace: [XXXXXXX@localhost]$ mono Program.exe Unhandled Exception: System.InvalidOperationException: The DbConfiguration type 'MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6' specified in the application config file could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. ---> System.TypeLoadException: Could not load type 'MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6'. at (wrapper managed-to-native) System.Type:internal_from_name (string,bool,bool) at System.Type.GetType (System.String typeName, Boolean throwOnError) [0x00000] in :0 at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationLoader.TryLoadFromConfig (System.Data.Entity.Internal.AppConfig config) [0x00000] in :0 --- End of inner exception stack trace --- at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationLoader.TryLoadFromConfig (System.Data.Entity.Internal.AppConfig config) [0x00000] in :0 at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.EnsureLoadedForAssembly (System.Reflection.Assembly assemblyHint, System.Type contextTypeHint) [0x00000] in :0 at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.EnsureLoadedForContext (System.Type contextType) [0x00000] in :0 at System.Data.Entity.DbContext.InitializeLazyInternalContext (IInternalConnection internalConnection, System.Data.Entity.Infrastructure.DbCompiledModel model) [0x00000] in :0 at System.Data.Entity.DbContext..ctor (System.String nameOrConnectionString) [0x00000] in :0 at Data.ScraperEntities..ctor () [0x00000] in :0 at Program.Program.Main (System.String[] args) [0x00000] in :0 [ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: The DbConfiguration type 'MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6' specified in the application config file could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. ---> System.TypeLoadException: Could not load type 'MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6'. at (wrapper managed-to-native) System.Type:internal_from_name (string,bool,bool) at System.Type.GetType (System.String typeName, Boolean throwOnError) [0x00000] in :0 at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationLoader.TryLoadFromConfig (System.Data.Entity.Internal.AppConfig config) [0x00000] in :0 --- End of inner exception stack trace --- at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationLoader.TryLoadFromConfig (System.Data.Entity.Internal.AppConfig config) [0x00000] in :0 at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.EnsureLoadedForAssembly (System.Reflection.Assembly assemblyHint, System.Type contextTypeHint) [0x00000] in :0 at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.EnsureLoadedForContext (System.Type contextType) [0x00000] in :0 at System.Data.Entity.DbContext.InitializeLazyInternalContext (IInternalConnection internalConnection, System.Data.Entity.Infrastructure.DbCompiledModel model) [0x00000] in :0 at System.Data.Entity.DbContext..ctor (System.String nameOrConnectionString) [0x00000] in :0 at Data.ScraperEntities..ctor () [0x00000] in :0 at Program.Program.Main (System.String[] args) [0x00000] in :0 This is occurring even though the connector dll's are registered to the gac. The missing type its looking for is in the EF6.dll, which I believe cannot be loaded and therefore the type not found. Later I discovered that maybe this was because my program wasn't referencing the MySQL EF6 dlls but the support library was. So I put the references into the Program as well and got a similar load error but from mono versus monop. I tried this with assemblies from the net/mono install zip as well with the DLLs copied from the windows install. The result is the same. See below: [XXXXXXX@localhost]$ mono ./Program.exe * Assertion at class.c:5607, condition `!mono_loader_get_last_error ()' not met Stacktrace: at <0xffffffff> at (wrapper managed-to-native) System.Type.internal_from_name (string,bool,bool) <0xffffffff> at System.Type.GetType (string,bool) <0x0002f> at System.Data.Entity.Config.DbConfigurationLoader.TryLoadFromConfig (System.Data.Entity.Internal.AppConfig) <0x00053> at System.Data.Entity.Config.DbConfigurationManager.EnsureLoadedForContext (System.Type) <0x00124> at System.Data.Entity.DbContext.InitializeLazyInternalContext (System.Data.Entity.Internal.IInternalConnection,System.Data.Entity.Infrastructure.DbCompiledModel) <0x0002c> at System.Data.Entity.DbContext..ctor (string) <0x00053> at Data.ScraperEntities..ctor () <0x00017> at Program.Program.Main (string[]) <0x00017> at (wrapper runtime-invoke) .runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: mono() [0x4ba9f2] /lib64/libpthread.so.0(+0xf130) [0x7f666419b130] /lib64/libc.so.6(gsignal+0x39) [0x7f6663bea5c9] /lib64/libc.so.6(abort+0x148) [0x7f6663bebcd8] mono() [0x6420c9] mono() [0x64233c] mono() [0x6424d3] mono() [0x52cfcc] mono(mono_class_get_full+0xea) [0x52d82a] mono(mono_class_from_name+0xfe) [0x52dc2e] mono() [0x5c402e] mono() [0x5c42f3] mono() [0x547526] [0x41437afe] Debug info from gdb: ================================================================= Got a SIGABRT while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Aborted Some of the specifics: - Test program is being created on Win 8.1 x86_64 with VS Community 2013 and the 6.9.5 connector - Program is being run on a CentOS 7 x86_64 box with: [XXXXXXX@localhost]$ uname -a Linux xxxxxxx.xxxxxxx 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [XXXXXXX@localhost ~]$ mono --version Mono JIT compiler version 3.10.0 (tarball Mon Nov 17 11:59:05 GMT 2014) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen - The database is running on the CentOS box [XXXXXXX@localhost]$ rpm -qa | grep mariadb mariadb-5.5.40-1.el7_0.x86_64 mariadb-libs-5.5.40-1.el7_0.x86_64 mariadb-server-5.5.40-1.el7_0.x86_64 - There are no other non framework dependencies My App.config looks like: