Skip to content
ChristophWille edited this page Jul 16, 2011 · 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 1.0 (ILSpy 1.0.0.1000):

ILSpy requires .NET 4.0.

Test the latest ILSpy builds: Build Server

Get ILSpy plugins from here.

ILSpy Features

  • Assembly browsing
  • IL Disassembly
  • Decompilation to C#
    • Supports lambdas and 'yield return'
    • Shows XML documentation
  • Saving of resources
  • 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)

ILSpy 1.0 Roadmap

  • Support all C# 4.0 features except for expression trees, dynamic, and fixed fields
  • Make Analyzer UI easier to use

ILSpy 2.0 Roadmap

  • Assembly Lists
  • Support the remaining C# 4.0 features
    • Expression trees
    • C# 4.0 "dynamic"
    • Fixed fields ("struct A{ public unsafe fixed int Field[10]; }")
    • Simplify comparison operators on nullables
    • Add casts where required to make C# overload resolution call the correct method
  • Debugger Eusebiu's blog, integration builds

ILSpy - Further Down the Road

  • Decompile to Visual Basic
  • Visual Basic support (pre-info)
  • Support C# 5.0 "async"
  • Bookmarks
  • 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)