Skip to content
ChristophWille edited this page Jun 3, 2012 · 53 revisions

ILSpy is the open-source .NET assembly browser and decompiler.

Development started after Red Gate announced that the free version of .NET Reflector would cease to exist by end of February 2011.

Download

Version 2.1 (ILSpy 2.1.0.1603):

ILSpy requires .NET 4.0.

Test the latest ILSpy builds: Build Server Old versions are available on SourceForge.

Get ILSpy plugins from here.

ILSpy Features

  • Assembly browsing
  • IL Disassembly
  • Support C# 5.0 "async"
  • Decompilation to C#
    • Supports lambdas and 'yield return'
    • Shows XML documentation
  • Decompilation to VB
  • Saving of resources
  • Save decompiled assembly as .csproj
  • Search for types/methods/properties (substring)
  • Hyperlink-based type/method/property navigation
  • Base/Derived types navigation
  • Navigation history
  • BAML to XAML decompiler
  • Save Assembly as C# Project
  • Find usage of field/method
  • Extensible via plugins (MEF)
  • Assembly Lists

ILSpy - Further Down the Road

  • Bookmarks
  • Debugger Eusebiu's blog
  • Support C# 4.0 "dynamic"
  • Add casts where required to make C# overload resolution call the correct method
  • Support for fixed fields ("struct A{ public unsafe fixed int Field[10]; }")
  • Decompiling ILSpy with itself and recompiling the result should result in a working ILSpy copy
  • Assembly editing capabilities (similar to Reflexil)

Release History

Want to know when major new features are added? When a new stable version is released?

Follow us on Twitter!

Discussion Forum

http://community.sharpdevelop.net/forums/69.aspx

Please use the forum to discuss issues, feature ideas, et cetera. For bug reporting, either use the forum or if you have a GitHub account, add them directly to https://github.com/icsharpcode/ILSpy/issues

Blog Posts on ILSpy Development

ILSpy Source Code

See https://github.com/icsharpcode/ILSpy

Screencasts, Demo & How To Videos

Screenshots

Viewing IL (Build 199)

Navigating Types (Build 199)

Saving Resources (Build 199)

Decompiling a Type to C# (Build 199)

Decompiling method with 'yield return' (Build 528)