Thanks, that's encouraging news. But you definitely have to compile the DLLs for Linux don't you - I'm right in assuming that pinvoke on Mono won't call into native Windows DLLs?
+--------------------------------------------------------------------------+ | Matthew Donaldson http://www.datadeliverance.com | | Data Deliverance Pty. Ltd. Email: matt...@datadeliverance.com | | 30 Musgrave Ave. Phone: +61 8 8265 7976 _ | | Banksia Park Fax: +61 8 8265 0032 John / \/ | | South Australia 5091 3:16 \_/\ | +--------------------------------------------------------------------------+ On Fri 19/12/08 1:07 AM , "Maser, Dan" dan.ma...@inin.com sent: > In my mono application I have PInvokes that run on both Windows and Linux > and in my experience it works and you don't even have to change the source > code from ".dll" to ".so". If you put the module name > only in the source code then the right thing happens. The MS.NET knowns to > append ".dll" when looking for the file and Mono knows to try > both ".dll" and ".so" when running on Linux. > Additionally, I think there's something about an xml file you can put in > the same directory as your assembly that acts as a mapping where you can > tell mono "when looking for foo.dll you should try bar.so" that > you can use if you don't want the Windows and Linux libraries to have the > same name. > Of course you have to pay close attention to using the correct decorations > for calling conventions on both libraries. > > -----Original Message----- > From: mono-winforms-list-boun...@lists.ximian.com > [mono-winforms-list-boun...@lists.ximian.com] On Behalf > Of mcgdSent: Thursday, December 18, 2008 5:42 AM > To: mono-winforms-l...@lists.ximian.comsubject: [Mono-winforms-list] Porting > application that calls windows and > other DLLs > > Hi, > > I've been asked to try and get a .NET 1.1 application working under Mono. > It makes quite a few Windows API calls, but also calls several other > DLLsusing PInvoke. Most of these DLLs can probably be recompiled under > Linux,but probably not all. > > >From looking around, it seems that it's not > possible to call Windows DLLsvia PInvoke using Mono, but I wanted to make > sure this is the case. > Someonementioned something called "ctypes" as a way of doing this, but > this seemsto be a Python thing. > > I'd appreciate input on what my options might be available here, and > whetherit's worth trying to go further. A few other specific questions - > answersor URLs appreciated: > > - Is there any way at all to get the equivalent of calls into User32.dll? > Most of these are in User32.dll. The application is very > GUI-intensive. > - Is it possible to use Wine to run the DLLs? I've seen references to > thisidea, but I don't think I've found anything concrete. > > - If the other DLLs could be recompiled into .so files under Linux, can > Iuse PInvoke without changing anything except ".dll" into > ".so", or doparameter names and types need to be changed too? (i.e. would > this > possiblybe a significant porting effort in its own right?) > -- > View this message in context: > http://www.nabble.com/Porting-application-that-calls-windows-an > d-other-DLLs-tp21071161p21071161.htmlSent from the Mono - WinForms mailing > list archive at Nabble.com. > > _______________________________________________ > Mono-winforms-list maillist - > mono-winforms-l...@lists.ximian.comhttp://lists.ximian.com/mailman/listinfo/mono-winforms-list > > > > ---- Message sent via Adam Internet WebMail - http://www.adam.com.au/ _______________________________________________ Mono-winforms-list maillist - Mono-winforms-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-winforms-list