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

M2 Release (ILSpy 1.0.0.737):

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'
  • 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

  • Improve the decompiler
    • Display XML documentation
  • Support all C# 4.0 features except for expression trees, dynamic, and fixed fields ("struct A{ public unsafe fixed int Field10; }")
  • Decompile ILSpy, recompile it, and get a working ILSpy version (might be hard)
  • Improve search (performance)
  • 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"
  • Debugger Eusebiu's blog, integration builds
  • Bookmarks
  • Find usage of type/property/event
  • VB.NET support (longer horizon, NR5 isn't anywhere near complete enough for this)

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)