18

Is there an equivalent of .NET Reflector for Mono? Quick googling did not find anything... Or can I run Reflector on Mono (say, in Mac OS X)?

Kara
  • 5,650
  • 15
  • 48
  • 55
zvolkov
  • 17,762
  • 8
  • 65
  • 78

6 Answers6

14

As I was looking for a Mono decompiler, I found this page and tested the answers :

  • Mono.Cecil works great but it's a library and I was looking for a GUI
  • ILSpy doesn't run under Mono (Linux) since it uses WPF. Same for .NET CodeReflect, JustDecompile and dotPeek.
  • Perhaps Reflector works, but I don't really want to pay to know

Finally I found it was possible to decompile assemblies directly in MonoDevelop

Jeremy Nikolai
  • 285
  • 2
  • 13
Nicolas
  • 5,770
  • 4
  • 30
  • 46
  • 3
    How did you achieve decompiling assemblies directly in MonoDevelop? I can't figure out how to do this. –  Apr 18 '13 at 07:45
  • 7
    @Micah Delane Bolen, this surely deserves its own question, but I will be generous this time :) Add your dll file as a reference to your project. Then double-click on the reference and TADAM the awesome MonoDevelop will show you the decompiled code. – Nicolas Apr 18 '13 at 21:01
  • 3
    I see the interface in MonoDevelop but NOT the decompiled code. – user430788 Aug 03 '14 at 16:57
  • 1
    @user430788 You have to select the C# language at the top right corner in the assembly navigator. – antoyo Feb 09 '16 at 19:18
  • Even easier, just "File -> Open" the DLL file in a new MonoDevelop instance and do what @antoyo said. No need to create a project / add as reference – Omer Tuchfeld Oct 16 '20 at 11:06
10

Reflector works fine on Mono (at in older versions), provided you turn off the "Show PDB symbols" option.

Miguel de Icaza blogged about this at one point.

Reed Copsey
  • 522,342
  • 70
  • 1,092
  • 1,340
4

There is a new project called ILSPY that is trying to build an open source version of reflector: http://wiki.sharpdevelop.net/ILSpy.ashx

Dinis Cruz
  • 3,753
  • 2
  • 26
  • 46
  • ILSPY works quite well, I have added it to the O2 Platform and am now using it every day (instead of reflector) – Dinis Cruz Mar 24 '11 at 13:21
  • 2
    I tried IlSpy, but it tells me the same as Reflector ** (ILSpy.exe:10897): WARNING **: The following assembly referenced from ****/ilSpy/ILSpy.exe could not be loaded: Assembly: PresentationFramework (assemblyref_index=5) Version: 4.0.0.0 Public Key: 31bf3856ad364e35 The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (****/ilSpy/). – Arne Oct 30 '11 at 21:47
  • ILSpy is WPF based, and it cannot run on Mono yet. – Lex Li Dec 05 '13 at 02:59
  • You can use it as a cli application, see e.g. https://github.com/andreif/ILSpyMono – Andrei Apr 23 '16 at 12:35
2

Have any one tried Mono Cecil ?

With Cecil, you can load existing managed assemblies, browse all the contained types, modify them on the fly and save back to the disk the modified assembly; potentially might even be more powerful than Reflector!

I am about to review it.

2

Mono Cecil. Red-Gate Reflector is totaly based on it. Se this RedGate forum post for more information.

1

reflector 6.0 dose not support Mono,only 5.1.7supports mono.

mono reflector.exe /compat

:)

llj098
  • 1,364
  • 10
  • 13