GSoC/GCI Archive
Google Code-in 2010 Mono Project

Convert five tools to use Mono.Options

completed by: Nick Rioux

mentors: Andreia Gaita


Mono provides a lot of development tools, most of them "command-line tools" and written in C#. Almost all of them implement their own way of dealing with command-line options.



The task is to migrate some (see list below) custom command-line parsing code to use the excellent Mono.Options class.

Once migrated the student will verify that the tool's documentation (i.e. the man page) is complete (includes everything the tool supports) then provide a patch (diff) to update the tool(s).

  • certmgr.cs
  • makecert.cs
  • signcode.cs
  • chktrust.cs
  • setreg.cs

You can browse the source code of the tools from

note: Other tasks will be created for the remaining tools.

One patch (diff file) per tool/source file (.cs and man page). The source code must follow the Mono source code guidelines (available at

Once ready the files (or the patch) can be submitted to the mentor for review.



* In order to avoid misunderstandings you should start by a single tool and ask for a quick review before converting more of them. That will quickly tell you if you're on the right path to solve the task.



* Mono web site:

* Mailing-list / discussions:

* IRC: #mono-gci on GimpNET