MoMA

From Mono

(Redirected from Moma)
Mono Migration Analyzer
Enlarge
Mono Migration Analyzer
The Mono Migration Analyzer (MoMA) tool helps you identify issues you may have when porting your .Net application to Mono. It helps pinpoint platform specific calls (P/Invoke) and areas that are not yet supported by the Mono project.

While MoMA can help show potential issues, there are many complex factors that cannot be covered by a simple tool. MoMA may fail to point out areas that will cause problems, and may point out areas which will not actually be an issue.

Use the results provided as a guide to get you started on porting your application, but remember the true test is actually running your application on Mono.

For a description of the errors that MoMA detects and how to deal with them, see MoMA - Issue Descriptions.

As of version 1.9, MoMA can also be run from the command line to enable its use in automated build scenarios. For details, see Command Line MoMA.

Download

The current version of MoMA scans for compatibility with Mono 1.9.

MoMA can be downloaded from here (http://www.go-mono.com/archive/moma/Moma1-9.zip).

MoMA requires either MS.Net 2.0+ or Mono 1.2+

Once downloaded, unzip the files and run MoMA.exe.

As of version 1.2.6, MoMA will not report missing functionality in Design namespaces. These classes are only used when creating an application using a designer such as Visual Studio. They are not used to run your application. If you would like to include the Design namespaces in your MoMA scan, download this definition file (http://www.go-mono.com/archive/moma/defs/1.9-design-defs.zip) and place it in your Definitions folder.

Previous Releases

If you need to scan against an older version of Mono, you can download these definition files and place them in your Definitions folder.

  • Mono 1.2.6 (http://www.go-mono.com/archive/moma/defs/1.2.6.1-defs.zip)
  • Mono 1.2.5 (http://www.go-mono.com/archive/moma/defs/1.2.5-defs.zip)
  • Mono 1.2.4 (http://www.go-mono.com/archive/moma/defs/1.2.4-defs.zip)
  • Mono 1.2.3 (http://www.go-mono.com/archive/moma/defs/1.2.3-defs.zip)
  • Mono 1.2.2 (http://www.go-mono.com/archive/moma/defs/1.2.2-defs.zip)

Other Resources

The current reports can be seen here (http://primates.ximian.com/~miguel/momareports/).

The code for MoMA can be found in Mono's SVN at trunk/moma. For SVN help, see SVN.

Bugs for MoMA can be filed in Mono's bugzilla (https://bugzilla.novell.com/enter_bug.cgi?alias=&assigned_to=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=Normal&bug_status=NEW&cf_foundby=---&cf_nts_priority=&cf_nts_support_num=&cf_partnerid=&comment=Description%20of%20Problem%3A%0D%0A%0D%0A%0D%0ASteps%20to%20reproduce%20the%20problem%3A%0D%0A1.%20%0D%0A2.%20%0D%0A%0D%0A%0D%0AActual%20Results%3A%0D%0A%0D%0A%0D%0AExpected%20Results%3A%0D%0A%0D%0A%0D%0AHow%20often%20does%20this%20happen%3F%20%0D%0A%0D%0A%0D%0AAdditional%20Information%3A%0D%0A%0D%0A%0D%0A&component=MOMA&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&deadline=&dependson=&description=&estimated_time=0.0&flag_type-2=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Other&priority=P5%20-%20None&product=Mono%3A%20Tools%20&qa_contact=&rep_platform=Other&short_desc=&version=unspecified).

Using MoMA Guide

Step 1

image:MoMA_1.1-Step_1.png

Step 2

image:MoMA_1.1-Step_2.png

Step 3

image:MoMA_1.1-Step_3.png

Step 4

image:MoMA_1.1-Step_4.png

Sample Report

image:report.jpg