.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.
 
 
 
 
Siegfried Pammer 6a1e865fba Fix ScopedWhereUsedAnalyzer.GetReferencingAssemblies: When looking for referenced assemblies use built-in assembly resolver. This makes the analyzer use the same assembly references as the decompiler, which leads to better analysis results, or even any results when dealing with an assembly for which the framework is not installed. (Might be related to #1070 as well) 8 years ago
BuildTools Set up 3.1.x branch 8 years ago
ICSharpCode.Decompiler Support logic.and/etc. in IsImplicitTruncation(). 8 years ago
ICSharpCode.Decompiler.Console Update frontends (console, PS, Xamarin workbook) to ics.d 3.1 RTM 8 years ago
ICSharpCode.Decompiler.PowerShell Update frontends (console, PS, Xamarin workbook) to ics.d 3.1 RTM 8 years ago
ICSharpCode.Decompiler.Tests Don't use compound assignment when the RHS value does not fit into the LHS type. 8 years ago
ILSpy Fix ScopedWhereUsedAnalyzer.GetReferencingAssemblies: When looking for referenced assemblies use built-in assembly resolver. This makes the analyzer use the same assembly references as the decompiler, which leads to better analysis results, or even any results when dealing with an assembly for which the framework is not installed. (Might be related to #1070 as well) 8 years ago
ILSpy-tests@4ed2643065 Use mcs for correctness tests. 8 years ago
ILSpy.AddIn Set AddIn version to 1.8 8 years ago
ILSpy.BamlDecompiler Cache UsingScope during decompiler run. 8 years ago
ILSpy.BamlDecompiler.Tests Upgrade to NUnit 3.9 and enable parallel test execution. 8 years ago
NRefactory.VB Fix #716: OverflowException when converting System.Enum To System.Int64 in CustomAttribute 10 years ago
SharpTreeView Replace SharpTreeNodeView InvalidOperationException with debug message. 8 years ago
TestPlugin Added an About page addition to the test plugin. 8 years ago
cecil@14e6162ae5 Reference Mono.Cecil using a package reference instead of a submodule 8 years ago
doc Add instructions for modeling the "?." operator in the ILAst. 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 Only use mcs for the first compilation pass. Consistently run test cases using .NET 4.x runtime. 8 years ago
.gitmodules Add AwaitInFinallyTransform 8 years ago
.tgitconfig Add tgit.icon project config 12 years ago
DecompilerNuGetDemos.workbook Update frontends (console, PS, Xamarin workbook) to ics.d 3.1 RTM 8 years ago
Frontends.sln PowerShell cmdlets for ILSpy 8 years ago
ILSpy.sln Require Visual Studio 2017 or newer 8 years ago
NuGet.config Rename ics.d.console.sln -> Frontends.sln 8 years ago
README.md Updated build instructions for Unix 8 years ago
appveyor.yml Set up 3.1.x branch 8 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
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.

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.