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

Reply via email to