Customizing MonoDevelop to enhance productivity and coding enjoyment - c#

I'm new to C#, and although my office machine is based on windows, my netbook only has linux on it. I installed monodevelop, and so far everything is working fine.
I was just wondering if you had any tips or must dos for any person who is using monodevelop for c# / asp.net programming
Edit
Feel free to recommend open or closed source tools that are useful with mono develop
Settings I should change / modify to get a better coding experience?

MonoDevelop requires you to do coding in most cases, as it only supports visual designer for GTK# projects. Therefore, you should try to learn ASP.NET MVC which suits the case.
If you plan to use ASP.NET WebForms, you'd better use Windows, and Visual Web Developer (Express if you cannot afford Professional and upper).

You could use #ifdef .. to make one Project which can be compiled with Mono + VC#

Related

Does MVVM Cross Work with Visual Studio 2010?

Would like to make a cross-platform app supporting WinPhone 7.5 and later, plus Android and IOS if possible, using VS 2010 Professional. MVVMCross looked like a good choice but I can't find any information on whether it works with VS2010 or only VS2012.
Apologies if this information is in plain sight somewhere; maybe the answer will make it show up on Google more easily for the next guy.
With the current release it should work - but you will need to make sure you have the latest PCL and nuget plugins installed.
In the near future, Microsoft seem to be pushing hard to prevent WP7.x development - they are removing WP7.x support from VS2013 so MvvmCross will most likely have to switch to WP8-only support - see http://slodge.blogspot.ca/2013/07/mvvmcross-wp7-tombstoned.html

Can Windows and Linux developers work together on the same project using C# and ASP.net?

If a group of developers are working on a project written using ASP.net and C# in a Windows environment with Visual Studio, is there any way a developer can join their team and work with them on the project in a Linux environment? I know about the open source, cross-platform development framework Mono, could this be an option or would the Windows developers have to use this as well for that to work? Is the best option for a Linux developer to just install a Windows partition or can he join them without doing so?
Is the best option for a Linux
developer to just install a Windows
partition
Yes, by far. Even better, just get a PC. I've run into so many headaches trying to develop in .NET on Linux. Mono isn't perfect, and never will be.
Yes! Use MonoDevelop and a source management solution like Mercurial.
Yes, MonoDevelop can even load the Visual Studio solutions.
It deppends on many factors, I'd say that if you plan to use third party controls, for example, then you probably better stick to windows and visual studio. If you are going to do P/Invokes (call Win32 api methods) then, again, better stick to windows.
The fact is that many functionality that .Net framework has is only available on the Microsoft redistributable installer/visual studio installer etc. If you are joining a team that already has a project going on and it is linked to any of this namespaces (Microsoft.* comes to mind) then definitely install windows and visual studio, on the other hand, if you are just starting a new project it could be easy to develop on linux with monodevelop as long as you stick to anything that is fully supported by the mono framework.
Another thing you should consider are licenses. If your team already has visual studio and windows licenses it does not make much sense to switch to linux, as much as I love linux and mono/monodevelop the best way to develop for .net is the microsoft stack without a doubt.
What makes sense is to try to comply with mono so that your software can run in unix/linux infrastructure if you already have it and if switching it to windows server, for example, raises the cost too much.
It's all about the cost, unfortunely, so see these tools just as that, tools, they are the means to an end and just that. If developing and deploying with windows and to windows is cheaper then go ahead, if you have a large unix/linux server set already working and want to deploy into that then use mono, just consider it has a slightly learning curve since it is NOT visual studio/.net per se.

C# developing tools on OS X

I was told that VisusalStudio has no version for Mac. So what should I use if I want to develop in C# on Mac ? Anybody has experiences with this ? I'm looking for native IDE, I don't want to run VS using VirtualBox or any virtualization solution.
And if I create application with WPF GUI will it run on Mac ? Or is WPF only for Windows GUI developing ?
MonoDevelop is a free open source IDE based on the Mono project. There's builds available for Linux, MacOS X and Windows.
For GUI development, you'll need to use the GTK+ framework included with Mono - there's no plans to implement WPF on any platform other than Windows. GTK+ is cross-platform, though, so you can compile the same app for MacOS, Windows and Linux if you need to.
EDIT: It appears MonoDevelop also supports WinForms - http://www.mono-project.com/WinForms
There are a couple of alternative IDEs but nothing comparable to MonoDevelop in terms of features - but you can always just write C# code in your favourite editor and compile it using the Mono build tools, of course.
WPF can run on any environment that supports it in its runtime environment. Currently that is only Windows since the Mono project has no plans to implement WPF
Check out the Mono Project.
For an IDE check out MonoDevelop.
You can also check out the MonoTouch to develop to the IPhone.
As already mentioned WPF isn't supported but they do mention an alternative:
Silverlight implement a subset of the
WPF APIs and is available on Windows,
MacOS X and through our own open
source effort Moonlight it is
available on Linux and other Unix
systems.
As far as I know there is no complete IDE that support C# with intelli sense, etc.
So Vmware Fusion + Windows including Studio in Unity mode will be it :)
Simple C# syntax highlighting you can get with textmate.

selecting an appropriate IDE

Which one of the following IDEs/language will you recommend for developing a project under windows that involves recognizing hand gestures and interacting with the OS? I will be using OpenCV library for image processing tasks. After that I will be using win32 APIs or .NET framework to interact with the OS, depending on the tool you suggest. Performance is also a major issue.
Visual C++ 2008 (using C++/CLI)
Visual C++ 2008 (using native C++)
visual C# 2008 (using .NET framework)
Qt
Dev C++
Code::Blocks
It sounds like your targeting Windows and only Windows. As such I would stick with Visual Studio. It's a great IDE and is designed specifically for windows development.
Both QT and Code::Blocks are designed to be cross platform IDEs. I don't have a lot of recent experience with either of these IDEs. In the past I've found that they were great at providing tools for generating cross platform code but not nearly as good at helping you target the features specific to a particular operating system. If you are only intending to target one platform you will likely want to use some Windows specific features.
As for the language that depends a bit more on what you are actually doing and is overall a bit subjective. My personal advice though is to use C# unless there is a constraint preventing you from doing otherwise. For example if you had to write a driver which required C++ code.
If I understand you clearly, I think what you want to know is not the IDE to use, but the programming language/platform to use.
If you go for C++/C#, Visual Studio is a great IDE, but I hope you know that it is costly too.
If that's fine with you, anyone on SO would highly recommend going for Visual Studio.
Visual Studio Express (freely available) is good if it is just an academic project.
If you are targeting C++ then there's absolutely no reason to use C++/CLI versus the native version. The only time I've ever used C++/CLI was for integration of a native C++ library with a managed code layer, to obviate the need to use COM interop.
Agree with Jared's suggestion to use C# (for speed of development) unless you have native code dependencies that require C++. I don't see any managed implementation of OpenCV mentioned here.
If you are targeting Windows only, then there's no reason to use Eclipse versus any version of Visual Studio >= 2005, unless you are totally familiar with Eclipse and a newcomer to VS.

Anybody else using MonoDevelop?

I'm starting a new project in MonoDevelop, and I want to see how other projects are using it.
I tried searching through SourceForge, code.google.com, etc., but mostly I was just finding things like add ins or something related to MonoDevelop itself.
So is there anyone else using MonoDevelop, especially open source?
Basically, MonoDevelop is designed to function very similar to Visual Studio, including using all the same sln/proj file types. You can take a VS solution, open it in MD, and hit F5 to run it, and vice versa.
Because of this, I don't know that many people are going to write about "how they use MD as part of their project" any more than someone is going to write about how they use Notepad.
Any project that is using sln/proj files on Linux/Mac is likely using MD.
MonoDevelop is multiplatform IDE, especially for Linux. Works with Visual Studio solution and project files (100% both direction compatibility). So you can't find project using it. Any C#/VB.NET project can be developed in MD.
Three years ago me and a friend started work a new mono project and tried to use MonoDevelop for it. However - this was an impossible mission - we got ridden with all kinds of bugs and crashes and in the end I said - go to hell MonoDevelop - I'll use my tried and true Emacs.
To tell you the truth with no features other than formatting and font locking Emacs turned out to be 10 times more productive environment for me. My friend somehow endured using MonoDevelop for the whole run of the project, but afterwards he said he was done with Linux for good if it offered such low quality dev tools.
Times were different back then, I've been following mono's development and monodevelop's as well - they seem to be turning out quite well. I think that the actual cause of your problem - not finding anything - lies in the fact that most Linux devs openly shun Mono as a development platform because of it's Microsoft roots. This is sad - because it's a solid alternative of Java - especially at the desktop applications front(GTK# is seriously cool).
Banshee seems to be using MonoDevelop. Probably most of the prominent mono projects with a GUI use it as well to some extent.
I've found MonoDevelop to be excellent so far. I've only been using it for about a month, but once I got it set-up the way I want it, I wouldn't go back to any other editor or IDE on Linux. It took me a while to figure out how to set the debugger up and configure the editor to how I like it.
It's almost like having Visual C# Express on Linux.
Try searching for MonoTouch projects. Mac + MonoDevelop + .NET iPhone apps.
I just tried compiling my project, 2 problems:
couldn't load Setup projects
couldn't load SQL Server Library projects
There is a way around this of course, just have to consider that not all project types can be built in mono and must design solution the way it doesn't stop you from building what you want.

Categories

Resources