Getting Started
Make sure Mono is installed correctly by compiling/running Hello World.
Check Mono’s compatibility with Microsoft .NET.
Working with Mono
Mono for the Web
Mono for the Desktop
Documentation
Apache and Mono
Guide for setting up mod_mono to run on Apache.
Nginx and Mono
Guide for Nginx configuration to run ASP.NET and ASP.NET MVC web applications.
Writing a WebService
Guide to creating a web service to run on Mono.
Consuming a WebService
How to consume a web service in your application.
Connecting to Databases
How to write code to communicate with various databases.
GUI Toolkits
A list with some of the GUI Toolkits known to run on Mono.
Choosing a GUI Toolkit
There are many GUI toolkits to choose from for Mono, this guide explains the pros and cons of each.
Writing a Gtk# Application
Tutorial that shows how to write a Gtk# application using MonoDevelop and its visual Gtk# designer.
Porting Winforms Applications
Guide to porting a Winforms application to run on Mono.
Debugging Winforms Applications with VS
Guide to setting up the Winforms project in your application solution to enable debugging in Visual Studio.
API Reference
Mono Documentation Library
Portability Guidelines
How to write your application to work on multiple platforms.
Deployment Guidelines
How to package and deploy your application to various platforms.
HowTo Guides
Short, specific guides for various topics.
Monkeyguide
Detailed guide to using Mono.
Need Help
Some common questions.
Frequently Asked Questions
Resources
Mono in Action
- General
- Technical
- Licensing
- ASP.Net
- Security
- Winforms
- Bugs
- Books
- Articles
- Chat Rooms
- Related Sites
- User Groups
- Mono Migration Analyzer
- Screenshots
- Videos
- Applications that use Mono
Cross platform, open source .NET framework
Mono is a software platform designed to allow developers to easily create cross platform applications.
Sponsored by Microsoft, Mono is an open source implementation of Microsoft’s .NET Framework as part of the .NET Foundation and based on the ECMA standards for C# and the Common Language Runtime. A growing family of solutions and an active and enthusiastic contributing community is helping position Mono to become the leading choice for development of cross platform applications.
Get Mono
The latest Mono release is waiting for you!
Read the docs
We cover everything you need to know, from configuring Mono to how the internals are implemented.
Our documentation is open source too, so you can help us improve it.
Community
As an open source project, we love getting contributions from the community.
File a bug report, add new code or chat with the developers.
About Mono
Mono, the open source development platform based on the .NET Framework, allows developers to build cross-platform applications with improved developer productivity. Mono’s .NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure.
Supported previously by Novell, Xamarin and now Microsoft and the .NET Foundation, the Mono project has an active and enthusiastic contributing community. Mono includes both developer tools and the infrastructure needed to run .NET client and server applications.
The Components
There are several components that make up Mono:
C# Compiler — Mono’s C# compiler is feature complete for C# 1.0, 2.0, 3.0, 4.0, 5.0 and 6.0 (ECMA). A good description of the feature of the various versions is available on Wikipedia.
Mono Runtime — The runtime implements the ECMA Common Language Infrastructure (CLI). The runtime provides a Just-in-Time (JIT) compiler, an Ahead-of-Time compiler (AOT), a library loader, the garbage collector, a threading system and interoperability functionality.
.NET Framework Class Library — The Mono platform provides a comprehensive set of classes that provide a solid foundation to build applications on. These classes are compatible with Microsoft’s .NET Framework classes.
Mono Class Library — Mono also provides many classes that go above and beyond the Base Class Library provided by Microsoft. These provide additional functionality that are useful, especially in building Linux applications. Some examples are classes for Gtk+, Zip files, LDAP, OpenGL, Cairo, POSIX, etc.
Mono Feature Highlights
Binary Compatible
Built on an implementation of the ECMA’s Common Language Infrastructure and C#
Open Source, Free Software
Mono’s runtime, compilers, and libraries are distributed using the MIT license.
Comprehensive Technology Coverage
Bindings and managed implementations of many popular libraries and protocols
The Benefits
There are many benefits to choosing Mono for application development:
Popularity — Built on the success of .NET, there are millions of developers that have experience building applications in C#. There are also tens of thousands of books, websites, tutorials, and example source code to help with any imaginable problem.
Higher-Level Programming — All Mono languages benefit from many features of the runtime, like automatic memory management, reflection, generics, and threading. These features allow you to concentrate on writing your application instead of writing system infrastructure code.
Base Class Library — Having a comprehensive class library provides thousands of built in classes to increase productivity. Need socket code or a hashtable? There’s no need to write your own as it’s built into the platform.
Cross Platform — Mono is built to be cross platform. Mono runs on Linux, Microsoft Windows, macOS, BSD, and Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone and Android. It also runs on x86, x86-64, IA64, PowerPC, SPARC (32), ARM, Alpha, s390, s390x (32 and 64 bits) and more. Developing your application with Mono allows you to run on nearly any computer in existence.
Common Language Runtime (CLR) — The CLR allows you to choose the programming language you like best to work with, and it can interoperate with code written in any other CLR language. For example, you can write a class in C#, inherit from it in VB.NET, and use it in Eiffel. You can choose to write code in Mono in a variety of programming languages.
Other Uses
Scripting and Embedding — The Mono runtime can also be used to script your applications by embedding it inside other applications, to allow managed code and scripts to run in a native application.
See Embedding Mono for details on how to embed Mono.
See Scripting With Mono for strategies on how to script your application using the Mono runtime.
При подготовке материала использовались источники:
https://www.mono-project.com/docs/getting-started/
https://www.mono-project.com/
https://www.mono-project.com/docs/about-mono/