github icsharpcode/ILSpy v8.2
ILSpy 8.2

latest releases: v9.0-preview3, v9.0-preview2, v9.0-preview1...
12 months ago

ILSpy 8.x is based on .NET 6.0. All artifacts except the self-contained distribution are built framework-dependent, which means .NET 6.0.2 or later must be installed prior to starting ILSpy.

New Language Features

  • C# 7.1 Pattern matching with generics
  • C# 8.0 Recursive patterns
  • C# 9.0 Relational patterns
  • C# 9.0 not patterns
  • C# 10.0 static abstract members in interfaces
  • C# 11.0 switch on (ReadOnly)Span<char>

Contributions

Enhancements

  • #3090: add support for the NUGET_PACKAGES environment variable
  • Fixed some quirks in our search: #3064, #3065 and #3038

Performance

  • #3075: Avoid processing already-transformed blocks by introducing BlockTransformContext.IndexOfFirstAlreadyTransformedInstruction, which allows us to track already transformed instructions after a block has been merged into another by ConditionDetection.
  • #3075: Add NextSetBit operation to BitSet to avoid looking at every store bit individually in ReachingDefinitionsVisitor.GetStores()
  • #3075: Fix ILVariableEqualityComparer.GetHashCode
  • #3075: Improve performance of CSharpResolver.LookupSimpleNameOrTypeName in cases with a large number of local variables.
  • #3075: Eliminate recursion in some parts of the decompiler engine
  • ILSpy UI: #3057 - sub-optimal use of StringBuilder when constructing tree-node labels

Bug fixes

  • #3061: Handler blocks of exception filter blocks do not have a header.
  • #3103: unaligned.stobj cannot be transformed into inline assignment
  • #3091: extension methods named Add were skipping some checks in AccessPathElement.IsMethodApplicable.
  • #3004: MetadataModule.ResolveEntity() returning null for System.IntPtr when C# 11 native integers are enabled.
  • #3105 - VS2017-2019 addin didn't properly match subdirectory structure of 2022 addin
  • #3014: Missing type information in lambda expressions

And many other fixes, for a full list click here.

Don't miss a new ILSpy release

NewReleases is sending notifications on new releases.