ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
i need to start using C# .NET for work pretty soon, and would like to start messing around with it first. i don't want to have to boot up to Windows in order to do this, so i'm thinking to mess around with Mono. Now, i have only HEARD about Mono, so i could do with some help/advice on how to get started.
What packages do i need to install? (i looked in the repository and there seems to be quite a number of Mono-related packages.)
Any IDE to recommend? (Well, if not IDE, at least an editor that does syntax-colouring and facilitates compilation, like what VIM is to C.)
Also, the beagle devs are just terrific with mono. IRC on gimp.net channy #dashboard. This is, of course, quite beagle-centric, but there's a lot to learn there.
The tomboy people have an IRC hangout, too, but I don't know that one.
i have checked out the links, and am now downloading Mono from mono-project. (the download seems to be crawling though...)
Still looking at which IDE to get. i have been using Eclipse, but i was working with Java previously. Quite like Eclipse and quite used to it as well, but don't mind trying new stuff either.
Now if i run this script from the Gnome Terminal, MonoDevelop comes up fine (haven't tried doing anything else on it though.)
But if i try to launch the script from Nautilus, or from a menu item which points to the script, i get the following:
Code:
System.TypeInitializationException: An exception was thrown by the type initializer for Gnome.ModuleInfo ---> System.DllNotFoundException: gnomesharpglue-2
in (wrapper managed-to-native) Gnome.ModuleInfo:gnomesharp_gnome_moduleinfo_get_name_offset ()
in <0x00008> Gnome.ModuleInfo:.cctor ()--- End of inner exception stack trace ---
in <0x00000> <unknown method>
in <0x00025> Gnome.Modules:get_UI ()
in <0x00440> MonoDevelop.Ide.Gui.IdeStartup:Run (System.String[] args)
in <0x00169> MonoDevelop.Core.AddIns.AddInService:StartApplication (System.String addinId, System.String[] parameters)
your post gave me some inspiration! i looked at my environment variables on Gnome Terminal and found that if i wanted to run the IDE outside the terminal i needed to add a couple more variables:
What are the special features that Mono brought along and that were not present in C(++)? i'm not familiar with C(++) and am also new to Mono, so i'm just interested to know. What's the breakthrough about Mono? Could, e.g. Beagle have been written in C?
Well Mono is in fact an opensource version of the Microsoft .NET platform .. actually an implementation of the development framework.
I assume you're actually refering to the c# language .. wich is a lot like java actually .. and also the big difference between it and c++ would be that it's managed code. C# code get's compiled to IL (intermediary language) code .. wich is then intepreted at run time by a VM .. to the best of my knowledge anyway
I've just started with mono. I've not done any previous programming.
If you are starting from scratch get a C# begginers guide from your library. The basic tutorials start off with console programs which are identical in Windows and on Linux. Once you move on to GUI programs however things branch off. Windows uses windows.forms, Linux uses GTK. GTK is available for Windows and future versions of mono I beleive will include more of the windows.forms compatible code. However the drawing of windows etc. is only a small piece of the coding. Any experiences you learn creating namespaces, classes, event handlers etc. Will be tranferable between mono and .NET.
If you are wanting to create your own Linux programs a book I would recomend would be Mono a developers notebook. But get a book on the basics first.
what happens with windows specific stuff like registry edits in C#? I always hoped that mono would allow me to port my windowos C# applications over to linux (and vica versa), but I can't see a way to achieve that now with all the windows platform-specific elements in the .Net framework.
what happens with windows specific stuff like registry edits in C#? I always hoped that mono would allow me to port my windowos C# applications over to linux (and vica versa), but I can't see a way to achieve that now with all the windows platform-specific elements in the .Net framework.
What about writing to the registry? As I understand it, Linux does not have a counterpart to the registry. Should I avoid relying on that feature?
Try to avoid it. Although there would be a emulation for registry in Mono too. GNOME does have a registry like mechanism for configuration. But Even if gnome has a configuration system similar to the registry, the keys will not be equal, so you will probably end up having to do some runtime detection, and depending on this load an assembly that has your platform-specific hacks.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.