.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.
 
 
 
 
Daniel Grunwald cf5f3738a9 Fix performance issue due to aggressive debug checks that was causing AppVeyor to time-out. 8 years ago
BuildTools [nullables] Add support for lifted binary operators where one of the inputs is nullable. 8 years ago
ICSharpCode.Decompiler Fix performance issue due to aggressive debug checks that was causing AppVeyor to time-out. 8 years ago
ICSharpCode.Decompiler.Console Use ICSharpCode.Decompiler project reference in ICSharpCode.Decompiler.Console 8 years ago
ICSharpCode.Decompiler.Tests Replace LoopingBlockTransform with StatementTransform. 8 years ago
ILSpy Use Humanizer in GenerateForeachVariableName 8 years ago
ILSpy-tests@34e09fda5a Update ILSpy-tests submodule for updated ICSharpCode.Decompiler.dll. 8 years ago
ILSpy.AddIn [ILSpy.AddIn] Open multiple output artifacts, if present. 8 years ago
ILSpy.BamlDecompiler Fix build. 8 years ago
ILSpy.BamlDecompiler.Tests Fix build. 8 years ago
NRefactory.VB Fix #716: OverflowException when converting System.Enum To System.Int64 in CustomAttribute 9 years ago
SharpTreeView Merge remote-tracking branch 'origin/master' into newdecompiler. 8 years ago
TestPlugin Update documentation in CustomLanguage 8 years ago
cecil@d419d591b9 Update Mono.Cecil to bring in a few fixes when reading debug symbols. 8 years ago
doc Remove /doc/Dissertation as it's no longer relevant. 8 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 [ILSpy.AddIn] Fix missing libraries in vsix. 8 years ago
.gitmodules Delete a bunch of dead code. 8 years ago
.tgitconfig Add tgit.icon project config 11 years ago
ICSharpCode.Decompiler.Console.sln Use ICSharpCode.Decompiler project reference in ICSharpCode.Decompiler.Console 8 years ago
ILSpy.sln Require Visual Studio 2017 or newer 8 years ago
README.md Add instructions on building and contributing to README.md; Make ICSharpCode.Decompiler.csproj work properly with VSmac. 8 years ago
appveyor-ilspycmd.yml Add appveyor-ilspycmd.yml 8 years ago
appveyor.yml Fix build. 8 years ago
clean.bat Remove pre-.NET 4.5 ifdefs 8 years ago
debugbuild.bat Don't use parallel build; the .NET core tooling is too broken. 8 years ago
releasebuild.bat Don't use parallel build; the .NET core tooling is too broken. 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

Note: Only the CI builds support .NET Standard/Core assemblies. However, those builds are not yet at feature parity with the released bits, see C# language support status for details.

Looking for a (Linux/Mac/Windows) command line client (or a sample for the ICSharpCode.Decompiler Nuget)? Check out ICSharpCode.Decompiler.Console!

License

ILSpy is distributed under the MIT License.

Included open-source libraries:

  • Mono.Cecil: MIT License (thanks to Jb Evain)
  • AvalonEdit: LGPL
  • SharpTreeView: LGPL
  • ICSharpCode.Decompiler: MIT License (developed as part of ILSpy)
  • Ricciolo.StylesExplorer: MS-PL (part of ILSpy.BamlDecompiler.Plugin)
  • Newtonsoft Json.NET: MIT License

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.

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 ICSharpCode.Decompiler.Console.sln to work.

How to contribute