views:

42

answers:

1

I might need to write some GUI application that runs on .Net (and Windows), while what I can work with is Mono (on Ubuntu and/or Gentoo). I am very familiar with Python; in addition, I understand that the Mono Windows.Forms assemblies seem to be satisfactorily usable (I've run successfully .Net applications using Windows.Forms).

What are the steps I would have to take to have an environment where I can develop stand-alone IronPython on a GNU/Linux maching? Also, I would very much appreciate some .Net-Mono compatibility pointers (e.g. things I should know or avoid).

I'm not looking for an IDE; I'm quite at ease using vim for my editing purposes, and I don't mind building GUIs programmatically.

Note: what I'm actually asking, is help with the following:

  • I obviously have to install IronPython; so I make sure my Mono packages are installed, then I run the IronPython installer (using Mono, obviously) just like I would on Windows? Will this make the IronPython assemblies available to Mono? If not, how can I do that? Ubuntu 9.10 has a package for IronPython, but it's not the latest version; at the same time, for compatibility purposes, I can't upgrade the Ubuntu installation. I can't find an ebuild for Gentoo.
  • Do I have to install any more assemblies?
  • After I successfully install IronPython, how do I create a .Net/Mono executable from my IronPython sources? Is there a “proper” way?
  • Is there a way to “embed” the IronPython (and any other required) assemblies in the final .exe?
+1  A: 

Check Windows Forms section on IronPython Cookbook for hints about creating Windows Forms applications.

As to the environment, I would write the app in Mono and check it works on Windows. I would set up two virtual machines and any source control system to transfer sources between them.

The key part is to write and run tests so you can verify it works on both platforms. So you cannot use just GNU/Linux machine to be sure. But I think you can install Windows 7 for 30-days trial period.

I used to write WinForms tests so here is link to my blog and several other articles:

Lukas Cenovsky
So, in order to have a suitable environment, I install IronPython on Mono, right? I just download IronPython and run the installer?
ΤΖΩΤΖΙΟΥ
Yes - install IronPython on Mono. I doubt installer will work as it is written for Windows, so just download binaries and use them. You can also ngen them to increase performance. Or maybe you have IronPython in your distribution.
Lukas Cenovsky