.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Christoph Wille 29e05778c6 See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
BuildTools Update branches list in appveyor.yml 7 years ago
ICSharpCode.Decompiler See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ICSharpCode.Decompiler.Console Fix #1412: Output file empty - ICSharpCode.Decompiler.Console: dot not foreget to close stream at end of program. 6 years ago
ICSharpCode.Decompiler.PdbProvider.Cecil See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ICSharpCode.Decompiler.PowerShell Update dotnet tool ilspycmd to 4.0 rtm, PS and Xamarin workbook 6 years ago
ICSharpCode.Decompiler.Tests See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ILSpy See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ILSpy-tests@e83c25d910 Update ILSpy-tests submodule reference. 7 years ago
ILSpy.AddIn See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ILSpy.BamlDecompiler See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ILSpy.BamlDecompiler.Tests See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
ILSpy.Tests See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
SharpTreeView See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
TestPlugin See #1416. Also upgraded Cecil to .3 (from .1) 6 years ago
doc Update copyright year 6 years ago
.editorconfig Convert most Rebracer rules to .editorconfig (natively supported by VS) 8 years ago
.gitattributes Add .gitattributes and normalize newlines 12 years ago
.gitignore Ignoring generated manifest file. 7 years ago
.gitmodules Upgrade to Cecil 0.10.0. 7 years ago
.tgitconfig Add tgit.icon project config 11 years ago
DecompilerNuGetDemos.workbook Rename misnamed variable in demo workbook. 6 years ago
Frontends.sln Remove references to non-existent Rebracer.xml and apply .editorconfig formatting to projects in Frontends.sln. 7 years ago
ILSpy.sln Move VSIX build workaround from ILSpy.csproj to ILSpy.AddIn.csproj. 6 years ago
NuGet.config Fix #1334: NuGet.config should explicitly specify the NuGet.org feed 7 years ago
README.md Add VS2017 extension to README.MD Closes #1171 7 years ago
appveyor.yml Add CSharpLanguageTests. 7 years ago
clean.bat Remove references to Mono.Cecil from bat files. 8 years ago
debugbuild.bat Remove references to Mono.Cecil from bat files. 8 years ago
global.json Switch to MSBuild.Sdk.Extras for WPF support 6 years ago
preparerelease.bat Add preparerelease.bat 8 years ago
releasebuild.bat Remove references to Mono.Cecil from bat files. 8 years ago

README.md

ILSpy Join the chat at https://gitter.im/icsharpcode/ILSpy NuGet Build status Twitter Follow ilspy.net ILSpy VS extension

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

Download: latest release | latest CI build (master)

CI Build Nuget Feed (master): https://ci.appveyor.com/nuget/ilspy-masterfeed

Decompiler Frontends

Aside from the WPF UI ILSpy (downloadable via Releases, see also plugins), the following other frontends are available:

Features

  • Decompilation to C#
  • Whole-project decompilation (csproj, not sln!)
  • Search for types/methods/properties (substring)
  • Hyperlink-based type/method/property navigation
  • Base/Derived types navigation, history
  • BAML to XAML decompiler
  • Extensible via plugins (MEF)
  • Check out the language support status

License

ILSpy is distributed under the MIT License.

Included open-source libraries:

  • Mono.Cecil: MIT License (part of ICSharpCode.Decompiler)
  • LightJson: MIT License (part of ICSharpCode.Decompiler)
  • Humanizer: MIT License (part of ICSharpCode.Decompiler)
  • AvalonEdit: MIT License
  • SharpTreeView: LGPL
  • Ricciolo.StylesExplorer: MS-PL (part of ILSpy.BamlDecompiler.Plugin)
  • CommandLineUtils: Apache License 2.0 (part of ICSharpCode.Decompiler.Console)

How to build

Windows:

  • Check out the repository using git.
  • Execute git submodule update --init --recursive to get all required submodules.
  • Use ILSpy.sln to work.

(Optional, Windows-only) Note: If you want to use the same build configuration as the build server, you will have to install VC++ 2017 version 15.7 v14.14 latest v141 tools (or similar) from the "Individual components" section in the Visual Studio Setup. We use editbin.exe to modify the stack size used by ILSpy.exe from 1MB to 16MB, because the decompiler makes heavy use of recursion, where small stack sizes lead to problems in very complex methods.

Unix:

  • Check out the repository using git.
  • Execute git submodule update --init --recursive to get all required submodules.
  • Edit \ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj Add Sdk="Microsoft.NET.Sdk" to the Project element. This is required due to a tooling issue on Unix. Please do not commit this when contributing a pull request!
  • Use Frontends.sln to work.

How to contribute

Current and past contributors.