Hello, I have just installed the Mono 2.0.1. I will take a look at the issue when I got a moment.
Regards, Laurent Etiemble. 2008/10/27 Anthony Bowker <[EMAIL PROTECTED]>: > Hi, > > Thank you for your quick reply! > > With Mono 2.0.1, there is no longer a System.Drawing.dll.config file, > instead the relevant dllmap elements are in the > /Library/Frameworks/Mono.framework/Versions/2.0.1/etc/mono/config > > I have solved my particular problem, by adding the dllmap information > explicitly by adding a call to mono_config_parse_memory() to the native C++ > code. Granted, this isn't a particularly elegant solution. > > Anthony > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Laurent Etiemble > Sent: Thursday, October 16, 2008 9:13 AM > To: users@lists.monobjc.net > Subject: Re: [EMAIL PROTECTED] An mkbundle with gdiplus.dll > > Hello, > > In Mono 1.9.1, the libgdiplus library mappings are contained in the > System.Drawing.dll.config file, and not in the machine.config. Is this > file still exists ? > > Could you post the log of the NAnt build process and take a look at > your build folder: it must contains the config files that have been > modified before their inclusion. > > Maybe there is some changes in the Mono 2.0 that breaks the whole > relocating process. > > Regards, Laurent Etiemble. > > 2008/10/15 Anthony Bowker <[EMAIL PROTECTED]>: >> Hi everyone, >> >> >> >> I am having a terrible time building a native binary with mkbundle of my >> Application. My App uses Monoobjc.Cocoa and System.Drawing. The latter >> requires gdiplus.dll. >> >> >> >> I am using the MonoFramework-2.0_4 and when Mono is installed on the >> machine, the machine.config file contains these two dllmap lines to help >> apps locate gdiplus.dll: >> >> <dllmap dll="gdiplus.dll" >> > target="/Library/Frameworks/Mono.framework/Versions/2.0/lib/libgdiplus.dylib > " >> /> >> >> <dllmap dll="gdiplus" >> > target="/Library/Frameworks/Mono.framework/Versions/2.0/lib/libgdiplus.dylib > " >> /> >> >> >> >> I am using the excellent NAnt.Monobjc.dll mkbundle task to create my > native >> binary, with the following fragments: >> >> <mkbundle exe="${build.dir}/MyApp.exe" >> >> todir="${macbuild.dir}" >> >> target="MACOSX_10_4" >> >> universal="true" >> >> rebuild="true"> >> >> <search-in basedir="${build.dir}"/> >> >> </mkbundle> >> >> <mkappl name="MyApp" >> >> todir="${mac.dir}" >> >> native="true" >> >> icon="${build.dir}/Mac/MyApp.icns" >> >> infoplist="${build.dir}/Mac/Info.plist"> >> >> >> >> <!-- Copy executable --> >> >> <copy-in-macos basedir="${macbuild.dir}"> >> >> <include name="MyApp"/> >> >> <include name="lib*.dylib"/> >> >> </copy-in-macos> >> >> >> >> <!-- Copy other files or folder --> >> >> <copy-in-resources basedir="${build.dir}/Mac"> >> >> <include name="MyShell.nib/*"/> >> >> </copy-in-resources> >> >> </mkappl> >> >> >> >> When I add the following element, it correctly copies the libgdiplus.dylib >> and depenedent files to the MacOS folder of my bundle >> >> <with-lib >> > file="/Library/Frameworks/Mono.Framework/Versions/2.0/lib/libgdiplus.dylib" >> /> >> >> >> >> But when I run the app without Mono installed on the machine, I still get >> the System.DllNotFoundException: gdiplus.dll >> >> >> >> So it is obviously missing the dllmap entries and the embedded mono > runtime >> is not able to resolve gdiplus.dll to libgdiplus.dylib (or in fact >> libgdiplus.0.0.0.dylib in this case) to load it from my MacOS directory. >> >> >> >> I have tried creating both an App.config and Machine.config file and >> embedding using the mkbundle task, but Mono still seems unable to either >> load the config files, or use the dllmap entries: >> >> <configuration> >> >> <dllmap dll="gdiplus.dll" target="libgdiplus.0.0.0.dylib"/> >> >> <dllmap dll="gdiplus" target="libgdiplus.0.0.0.dylib"/> >> >> </configuration> >> >> >> >> Any help would be very much appreciated! >> >> >> >> Laurent, I noticed your reply to this list on August 11th (subject: > .config >> file) in which you mention a possible Mono runtime bug when config files > are >> embedded with mkbundle. Is there any update with this? >> >> >> >> Also, is there any way to programatically set dllmap information, since in >> my code before I use System.Drawing? >> >> I would love to say something like MonoRuntime.DllMaps.Add("gdiplus.dll", >> "libgdiplus.0.0.0.dylib"); >> >> >> >> Many thanks, >> >> >> >> Anthony >> >> >> >> >> >> > >