Back to Home

Mono Migration Analyzer (MoMA)

Mono Migration Analyzer · MoMa · Mono

Mono Migration Analyzer (MoMA)

    I think everyone heard about the Mono project - the executing language environment of the .NET family of languages. Mono is not a complete analogue of the Microsoft .NET Framework, but it allows you to run many .NET applications without recompiling. Those who wish can read about Mono here: (the official site of the project ) This topic will not focus on the Mono environment itself, but on a small tool - Mono Migration Analyzer . MoMa is a small tool that analyzes .NET assemblies (exe, dll) for compatibility with the Mono environment. For me personally, the tool was very useful when porting assemblies to Linux.
    Moma screenshots
    MoMa analyzes the assembly (s) for the presence of unsupported P / Invoke calls and code snippets. Although, according to the statement of Novell Moma itself, it is not a panacea for all incompatibilities, that is, there may be situations where MoMa may not detect incompatible code. It is also worth noting another interesting feature - after analyzing the assembly, the utility will forgive sending a report to the development team “to identify and concentrate efforts on the most required functionality” ((C) Mono Team). Conclusion: you should not rely on MoMa as the main tool for checking compatibility - you can fully test it only by testing the assembly on the target platform, but as a tool at the initial stage of transferring the assembly - definitely Must Have!
    PS: By the way hereThere is a tutorial on porting a non-trivial WinForms application under Mono using Mono Migration Analyzer. And one more thing: in the picture is a report on the analysis of my assembly, which works successfully under openSuse 11 and mono 2.0 - that is, MoMA did not miss anything.

    Read Next