Users

CharliePoole edited this page Jun 3, 2016 · 23 revisions

We're happy to notice that the following projects and products are using Mono.Cecil. Please contact us to improve or correct this list.

Open Source

Compilers

  • vbnc: Mono's Visual Basic compiler.
  • brainfucker: A Brainfuck compiler for the CLI.
  • JaCIL: A CLI-to-JVM Compiler.
  • Ja.NET: A JVM-to-CLI Compiler.
  • JSIL: A CIL-to-JavaScript compiler.
  • WebSharper: a F#-to-JavaScript compiler.
  • Lexa-JSM: A C#-to-JavaScript converter.

Decompilers

  • ILSpy: ILSpy is a Cecil based decompiler from the SharpDevelop team
  • Cecil.Decompiler: Cecil.Decompiler is a library to decompile from CIL to C# or other languages based on Cecil.
  • Cecil Studio: Cecil Studio is an interface over Cecil and Cecil.Decompiler.

Development Environment

  • SharpDevelop: #develop (short for SharpDevelop) is a free IDE for C#, VB.NET and Boo projects on Microsoft's .NET platform.
  • MonoDevelop: MonoDevelop is a free GNOME IDE primarily designed for C# and other .NET languages.
  • MonoUML: CIL Reverse Engineering plugin.
  • Reflexil: A plugin for .NET Reflector that allows you to modify your assemblies.
  • LINQPad: A tool which lets you interactively query SQL databases with LINQ.
  • NDasm: Visual Studio add-in that displays the CIL of .NET methods.
  • CShell: Interactive C# Scripting Environment

Code Quality & Metrics

Documentation

  • monodoc: Monodoc is a set of libraries and applications for viewing and editing Mono class library documentation.
  • ImmDoc .Net: ImmDoc .NET is a command-line utility for generating HTML documentation from a set of .NET assemblies and XML files created by the compiler.

Testing

  • MbUnit v3 / Gallio: The Gallio Automation Platform is an open, extensible, and neutral system for .NET that provides a common object model, runtime services and tools (such as test runners) that may be leveraged by any number of test frameworks.
  • MoMA: The Mono Migration Analyzer (MoMA) tool helps you identify issues you may have when porting your .NET application to Mono.
  • OpenCover: An open source code coverage tool.
  • NinjaTurtles: .NET/Mono mutation testing.
  • Smocks: Smocks is a library for mocking the normally unmockable. It can mock static and non-virtual methods and properties, amongst others.
  • NUnit: The classic testing framework for .NET uses Cecil to decide which runtime and framework version to use in running tests as well as where and how to execute them.

Aspect Weavers

  • SheepAOP: SheepAOP is yet another AOP tool for the .NET environment, inspired by AspectJ.
  • AspectDNG: AspectDNG is a static .NET aspect weaver.
  • LinFu: A framework that adds mixins, inversion of control, DbC, and other language features to the Common Language Runtime.
  • SetPoint: SetPoint is yet another AOP engine.
  • Compose*: ComposeStar is a project that aims at enhancing the power of component- and object-based programming.
  • PostCrap: PostCrap is a flyweight attribute based aspect injection .NET post compiler.
  • NSurgeon: A static aspect weaver.

Assembly Manipulation

  • Mono Linker: The linker is a tool one can use to only ship the minimal possible set of functions that a set of programs might require to run as opposed to the full libraries.
  • Mono Merge: A tool to create one assembly from a set of assemblies.
  • mono-cil-strip: A tool to remove the bytecode of assemblies after they have been AOTed to reduce the binary side.
  • ExePack: Exepack.NET is executable file compressor for .NET Framework.
  • IL-Repack: IL-Repack is an ILMerge clone.
  • CInject: Allows code injection into any managed assembly without disassembling and recompiling it. It ships with dynamic logging, performance and runtime intelligence injectors and includes Quick Guide & Samples
  • Fody: Fody provides the plumbing to write assemblies manipulation as part of the Visual Studio build.

Databases related

  • db4o: A native persistence solution for .NET and Mono.
  • USS: Universal Storage Services (USS) is an extensible programming model and runtime components for building data aware solutions on the .NET platform.

Obfuscators

  • Obfuscar: Obfuscar is a basic obfuscator for .NET assemblies.
  • SharpObfuscator: It is a software protection tool, designed to help .NET developers efficiently protect their software.
  • Confuser: Confuser is a obfuscator for .NET.

Other

  • mdb/sdb: Mono Managed Debugger.
  • WSPBuilder: A SharePoint Solution Package (WSP) creation tool for WSS 3.0 & MOSS 2007
  • XAML Power Toys: XAML Power Toys is a Visual Studio 2008 SP1 add-in or a Visual Studio 2010 add-in that empowers WPF and Silverlight developers while working in the XAML editor.
  • PowerShell Community Extensions: PowerShell Community Extensions (PSCX) is aimed at providing a widely useful set of additional cmdlets, providers, aliases, filters, functions and scripts for Windows PowerShell that members of the community have expressed interest in.
  • Community Kit for SharePoint: The Community Kit for SharePoint is a set of best practices, templates, Web Parts, tools, and source code that enables practically anyone to create a community website based on SharePoint technology for practically any group of people with a common interest.

Closed Source

Compilers

  • MonoTouch: The mtouch tool which compiles CIL to native code uses Cecil and the Mono.Linker to reduce the application size.
  • Mono for Android: The Mandroid tool uses Cecil and the Mono.Linker to reduce the application size.
  • Oxygene: RemObjects's Oxygene is a Pascal compiler for .NET and Mono
  • Mainsoft CIL to Java bytecode

Code Quality & Metrics, Code Browsers

Decompilers

Profilers

  • NHProf: A profiler for NHibernate.
  • L2SProf: A profiler for LINQ to SQL.
  • EFProf: A profiler for Entity Framework.
  • EQATEC Profiler: Free code profiler for both full .NET and .NET CF applications.
  • .NET Perf: Free code profiler.

Object Relational Mappers

  • Telerik OpenAccess: Telerik OpenAccess is an enterprise-grade .NET ORM that does the data access plumbing in desktop and web applications.

Knowledge-Based Engineering

  • Pacelab Suite: Knowledge-based engineering platform for multidisciplinary product modeling, design analysis, verification and optimization

Obfuscators

Assembly manipulation

Development Environment

  • Unity: Unity is a game development ecosystem. Unity currently uses Mono as a scripting engine, and often has to perform analysis and manipulation of .NET binaries, all done with Cecil.

All trademarks and brands are the property of their respective owners.