[Mono-list] Mono ASP.NET on Apache

Edward Ned Harvey (mono) edward.harvey.mono at clevertrove.com
Fri Dec 9 12:25:52 UTC 2016

> From: Mono-list [mailto:mono-list-bounces at lists.dot.net] On Behalf Of
> Efren Bravo
> First let me confess you I'm new to .NET development but I need to enter to
> this world as soon as possible.
> My environment:
> ---
> -Windows 7
> -Mono Installer 64bits
> -Visual Studio 2010

You don't need mono if you're running in windows. It's not even very good for testing purposes, because nobody in the real world will run your application (whatever it is) using mono on windows. Mono is generally used to bring .NET (a microsoft native platform) to non-microsoft platforms, such as linux. The best way to learn .NET and/or mono is to install Visual Studio Community (free) on windows, and install xamarin studio (free) on a mac or linux desktop. Start writing and sharing code between the two systems. Start with Console projects, because the GUI components will definitely create an obstacle for you, that you don't need. 

No additional installs necessary. Even ASP.NET projects simply run natively in Visual Studio in win, or Xamarin Studio on mac/linux, with no external apache installers or anything. You should be aware that you'll have to learn C# and .NET before you can move on to learning ASP.NET. It's a whole new world stepping into C# / .Net for the first time, and it's again, a whole new world going from there to ASP.NET. So start with C# Console Applications, to do some basic stuff like downloading something from a webpage, connecting to a database, writing a file, handling some events that get raised by things like FilesystemWatcher, that trigger asynchronous events on the ThreadPool.

After you're good at .NET, when you're ready to learn ASP.NET, I highly recommend "Up and running with ASP.NET" on lynda. Lots of colleges and companies offer complimentary subscriptions to lynda, but even if you have to pay, it's well worth the $30 or so. For that matter, it's very likely they have some good classes to help you learn .NET too. I dunno, haven't checked.

You're obviously not going to deploy your solution to the world, running inside the VS or XS debugger. You will have to go through some setup process to make it deploy on LAMP, but don't bother with that until you're comfortable running things in your debugger. 

When you're at the point of wanting to make an ASP.NET project work on LAMP, don't mess around with XAMPP on windows, because again, nobody in the real world uses mono on windows. That's not the point of mono. Get yourself a centos/rhel or ubuntu server VM (not ubuntu desktop, because obviously, you would never deploy a real server that way), and install mono according to http://www.mono-project.com/docs/getting-started/install/linux/#centos-7-fedora-19-and-later-and-derivatives or whichever is appropriate for your platform. You should expect difficulty making an ASP.NET application in visual studio compatible with linux, or vice-versa.

You should expect things to work very well, if you either (a) use xamarin studio to develop on mac or linux, to develop ASP.NET that gets deployed to linux mono servers, or (b) use visual studio on windows, to develop ASP.NET that gets deployed to Azure or some other microsoft-based ASP.NET server. You should expect some level of hassle (it's disputed if it's a tiny hassle or a big hassle) if you develop on mono and deploy to microsoft, or develop on microsoft and deploy on mono.

More information about the Mono-list mailing list