[Gtk-sharp-list] GtkDotNet and dll.config file help

Hywel Thomas hywel at controlspecials.demon.co.uk
Sun Feb 8 06:36:27 EST 2009


I installed Gtk# (I assume) with Monodevelop - it's a clean SUSE 11.1 
installation, with MD installed via YAST, and in the project (which was 
imported from the working Windows version of the Gtk# code) I've just 
checked the appropriate references for gtk-sharp, gdk-sharp, gtk-dotnet, 
etc (in fact, MD did this for me when importing the project).  It now 
works, but I've had to put in a gdk-sharp.dll.config file into my bin 
directory (NOT a gtk-dotnet.dll.config).  It seems odd, because I can 
run the Cairo DrawingSample program (which also uses Gtk.DotNet) without 
any of this, as suggested in your last comment re GAC'd Gtk# dlls.  I'm 
confused!  The full error report (if it gives any more clues) was:-

Marshaling enter_notify_event signal
Exception in Gtk# callback delegate
   Note: Applications can use GLib.ExceptionManager.UnhandledException 
to handle the exception.
System.Reflection.TargetInvocationException: Exception has been thrown 
by the target of an invocation. ---> System.DllNotFoundException: 
libgdk-win32-2.0-0.dll
   at (wrapper managed-to-native) Gdk.Window:gdk_window_get_pointer 
(intptr,int&,int&,int&)
   at Gdk.Window.GetPointer (System.Int32& x, System.Int32& y, 
Gdk.ModifierType& mask) [0x00000]
   at NPlot.Gtk.ActivePlotSurface2D.EnterNotify (System.Object o, 
Gtk.EnterNotifyEventArgs args) [0x00000] in /home/hwt/NPlot/Gtk 
svn/demo/csharp/src/Gtk/Gtk.ActivePlotSurface2D.cs:227
   at (wrapper managed-to-native) 
System.Reflection.MonoMethod:InternalInvoke 
(object,object[],System.Exception&)
   at System.Reflection.MonoMethod.Invoke (System.Object obj, 
BindingFlags invokeAttr, System.Reflection.Binder binder, 
System.Object[] parameters, System.Globalization.CultureInfo culture) 
[0x00057] in 
/usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System.Reflection/MonoMethod.cs:157 

   --- End of inner exception stack trace ---


Michael Hutchinson wrote:
> 
> The dllmap should be in the config file for the thing it's doing
> mapping for, e.g. the DllMap for GtkDotNet.dll should in a config file
> called GtkDotNet.dll.config.
> 
> However, this is all just background. You should not have to write
> dllmaps for the GTK# dlls -- they are included and installed when you
> install GTK#, i.e. the GAC'd GTK# dlls are all already mapped. Your
> issue most likely indicates a broken GTK# installation. How did you
> install it?
> 


More information about the Gtk-sharp-list mailing list