Overview: Make ILSpy a command line tools for MacOsx ,Linux and any mono supported platform, because ILSpy does not work in MacOsx. It's import from https://github.com/icsharpcode/ILSpy So thanks to ILSpy Contributors: Daniel Grunwald David Srbecky Ed Harvey Siegfried Pammer Artur Zgodzinski Eusebiu Marcu Pent Ploompuu They did a great work. New Features for ILSpy-ForMacOSX: 1. add Couroutine decompiling feature for mono's dll, the original ILSPY always failed for mono's dll which mostly uses in Unity3D's game. 2. works on command line; 3. Decompile all dll in the input arguments and generate the project files and solution files just simply by one simple command line. I like that style instead of a GUI. It's better that reading the codes in the IDE than reading it in the ILSpy GUI, more features help you understand the decompiled codes. Usage: ILSpyMac [options] directory/to/all/your/dll made it run at all platform support mono. by aerror 2015/11/27 options: -a Decompile yield. OFF if exists this option, default ON. -b Decompile anonymous methods/lambdas. OFF if exists this option, default ON. -c Decompile asyncwait. OFF if exists this option, default ON. -d Decompile automatic events. OFF if exists this option, default ON. -e Decompile expression trees. OFF if exists this option, default ON. -f Decompile automatic properties. OFF if exists this option, default ON. -g Decompile using statements if. OFF exists this option, default ON. -h Decompile foreach statements. OFF if exists this option, default ON. -i Decompile lock statements if. OFF exists this option, default ON. -j Decompile SwitchStatement On String. OFF if exists this option, default ON. -k Decompile Using Declarations. OFF if exists this option, default ON. -l References dll path which dll will be loaded but not decompile , they use as References. -n Solution Name -r Decompile query Expressions. OFF if exists this option, default ON. -s Decompile fully Qualify Ambiguous Type Names. OFF if exists this option, default ON. -t Output language type, accept il or csharp, default is csharp. -p Use variable names from debug symbols, if available. OFF if exists this option, default ON. -x Use C# 3.0 object/collection initializers. OFF if exists this option, default ON. -y Include XML documentation comments in the decompiled code. OFF if exists this option, default ON. -z Fold braces. ON if exists this option, default OFF -C class Name -D Ony specitfied files to do decompiling in the Directory , should be the last option, for examaple: ILSpyMac -n Example /directory/to/all/your/dll -D main.dll Example: ILSpyMac -n Example -l /directory/to/Rerences/dll /directory/to/all/your/dll How to build: Open the ILSpyMac.sln by MonoDevelop or Xamarin, then click the build button. .NET 4.0 required. Check your Mono.Framework at /Library/Frameworks, it should looks like: ll /Library/Frameworks/Mono.framework/Versions/ total 8 drwxr-xr-x 13 root admin 442 11 28 22:36 3.10.0 drwxr-xr-x@ 12 root admin 408 9 29 05:51 4.0.4 lrwxr-xr-x 1 root admin 49 11 28 22:37 Current -> /Library/Frameworks/Mono.framework/Versions/4.0.4