GSoC/GCI Archive
Google Summer of Code 2012

Mono Project

Web Page:

Mailing List:


The Mono Project implements a cross-platform runtime and a developer platform based on the ISO standards for the Common Language Infrastructure and the C# language. The Mono Runtime runs applications that have been developed with C# and the Microsoft .NET platform on a variety of operating systems and architectures that span most Unix systems (including Linux and MacOS) to embedded systems like the iPhone, the Wii and Android.


Mono allows developers that are familiar with Microsoft .NET technologies to bring their software and their expertise to other systems. Mono has also created a significant set of technologies to help developers. Some were created over the years by the community, and some were created through Google's Summer of Code. Additionally we have created technologies that take advantage of the host operating systems, some are Mono-specific (no equivalent in .NET), Unix-specific, X11-specific, Cocoa-specific or graphics specific.


Calling all students!


Browse the Project Ideas list or come up with ideas of your own and discuss them with us.


Join in on Mono IRC on The main SoC channel is #monosoc, the General Topics channel is #mono, and developers can usually be found in #monodev and #monodevelop


Ask questions on the Mono mailing lists, listed here.


Send us your proposals!


Information about the progress of Mono projects in Summer of Code can be found on our Summer of Code Blog on or Twitter.




  • Add XDEBUG support for OS X To provide equivalent support for emitting .dSYM files on OS X as for emitting .so files on platforms, thus allowing use of native OS X debugging tools for JIT debugging. This support should also be implemented such that it compartmentalizes the generation of .dSYM files as much as possible, minimizing impact on the rest of the runtime. In doing so, a framework for adding other alternate symbol file formats in the future could be laid out.
  • C# Code Actions and Code Issue Inspections The project aims to implement a number of code actions and code issue inspections for C# to improve the code assistance in MonoDevelop.
  • Code Contracts Static Verifier: Continued Static Verification of Code Contracts continued. Numerical analysis of integer values. Refine existing code using tests. Fixing some issues in Data Flow Analysis and Control Flow Graph construction to support invariants and postconditions.
  • Code issue detection and code actions for MonoDevelop and NRefactory This project aims to implement a series of code issue finding and code transformation tools for C# in the NRefactory library, to be used in the MonoDevelop and SharpDevelop IDEs. When integrated in IDEs this functionality is similar to that of Resharpers code checking functionality.
  • Finish .NET 4.5 TPL Dataflow Implement the remaining parts of TPL Dataflow in mono, including missing blocks and support for options. In general, make it satisfy the current version of the MSDN documentation. Also improve the tests.
  • Improving F# binding Implementing missing features and improving existing.
  • Managed ILAsm and ILDasm implementations My goal is to finish ILDasm features implementation, write new test cases for ILDasm and ILAsm, execute tests and fix bugs found during the process.
  • Monodoc and .NET Resource Editor Addins for Monodevelop Addins that will improve the MonoDevelop IDE -.NET Resource Editor primarily aimed at supporting ASP.NET applications -Monodoc Documentation workflow built into the IDE. I have left plenty of room for manoeuvre in the editor implementation.
  • Pinta Features/Enhancements Add several major features/enhancements to Pinta.
  • Support for ASP .NET MVC in MonoDevelop ASP .NET MVC is a technology gaining more and more popularity due to its ease of creating modern and well-designed web applications. While its simplicity is provided by the powerful framework itself, during the development process robust IDE is also of paramount importance. MonoDevelop has only a basic support for creating ASP .NET MVC solutions. The goal of this project is to improve the current level of support so that all web developers could create their applications in a more efficient way.
  • Tasque Revitalization This projects aims to revitalize the TODO list GTK# application Tasque. This application has not been maintained for a while and needs major refactoring as well as additional functionality to make it more attractive to users. To add even more value to the application a dedicated Cocoa-UI for the Mac platform will be created using monomac.
  • WebKit-based HTML editor for MonoDevelop The support for embedding Gecko in applications was dropped by its developers, and that renders the MonoDevelop’s visual editor for HTML/ASP.NET(AspNetEdit) difficult to install, hard to maintain and practically unusable. A port of the editor, which will use WebKit as layout engine will bring new life to AspNetEdit. The main goal of the project is to make the HTML/ASP.NET designer of MonoDevelop userfriendly and easier to maintain.