I’ll chime in as another person hoping to find a solution to this.
I’ve been looking at the config file where dll remapping happens
(/Applications/Unity/Unity.app/Contents/Frameworks/Mono/etc/mono/config)
and copied into it the remapping lines that are in the MonoDevelop version of the file
(/Applications/Unity/MonoDevelop.app/Contents/Frameworks/Mono.framework/Versions/2.10.2/etc/mono):
dllmap dll=“gdiplus.dll” target=“/Applications/Unity/MonoDevelop.app/Contents/MacOS/…/Frameworks/Mono.framework/Versions/2.10.2/lib/libgdiplus.dylib” os=“!windows”
dllmap dll=“gdiplus” target=“/Applications/Unity/MonoDevelop.app/Contents/MacOS/…/Frameworks/Mono.framework/Versions/2.10.2/lib/libgdiplus.dylib” os=“!windows”
(those lines need delimiting if you copy them into the config file. I can’t get the delimited text to show up in the post. Just follow the convention you find in the file)
I added the os=“!windows” bit to both the MonoDevelop and Unity config files as that seems to be the standard incantation.
Then I restarted Unity and MonoConfig and pressed Play and got a slightly altered error message that shows that the new mapping is being seen:
DllNotFoundException: /Applications/Unity/MonoDevelop.app/Contents/MacOS/…/Frameworks/Mono.framework/Versions/2.10.2/lib/libgdiplus.dylib
System.Drawing.GDIPlus…cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus
System.Drawing.Image.Dispose (Boolean disposing)
System.Drawing.Image.Finalize ()
The dylib does live where the remapping points, so I can only imagine that the System.Drawing.GDIPlus constructor is for some reason not being found in the library?
A quick search of the dylib with ‘nm -g | grep -i gdiplus’ outputs just two symbols:
libgdiplus.0.dylib(single module):
0000d510 T _GdiplusShutdown
0000d650 T _GdiplusStartup
I’m no expert at reading the output, but I couldn’t find anything that looked like the constructor to me in a quick visual scan of the full output of ‘nm -g’.
I’m starting to feel like this may be all the yardage I can manage on this problem and I’m hoping someone out there can pick up the ball and manage a few more yards with it.