Skip to content
ChristophWille edited this page May 29, 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

Beta Release (ILSpy 1.0.0.943):

ILSpy requires .NET 4.0.

Test the latest ILSpy builds: Build Server

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
  • Extensibile via plugins (MEF)

ILSpy 1.0 Roadmap

  • Support all C# 4.0 features except for expression trees, dynamic, and fixed fields
  • Decompile ILSpy, recompile it, and get a working ILSpy version (might be hard)
  • Make Analyzer UI easier to use
  • Assembly Lists

ILSpy - Further Down the Road

  • Improve the decompiler
    • Add support for expression trees
    • Support C# 4.0 "dynamic"
    • Support fixed fields ("struct A{ public unsafe fixed int Field[10]; }")
    • Support C# 5.0 "async"
  • Debugger Eusebiu's blog, integration builds
  • Bookmarks
  • Find usage of type/property/event
  • VB.NET support (pre-info)

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)