I'd like to know if there are effective and open source tools to develop C# applications on Linux (Ubuntu). In particular, I have to develop Windows Forms applications.
I know about the Mono project, but I've never used it. What are the best tools (IDE, compiler, etc.) to set up a .NET developing environment on Ubuntu?
Is software developed on Linux runnable on Windows? Are there different behaviors or incompatibilities?
MonoDevelop, the IDE associated with Mono Project should be enough for C# development on Linux. Now I don't know any good profilers and other tools for C# development on Linux. But then again mind you, that C# is a language more native to windows. You are better developing C# apps for windows than for linux.
EDIT: When you download MonoDevelop from the Ubuntu Software Center, it will contain pretty much everything you need to get started right away (Compiler, Runtime Environment, IDE). If you would like more information, see the following links: