MBot Posted May 21, 2023 at 10:27 AM Share Posted May 21, 2023 at 10:27 AM ILSpy 8 is based on .NET 6.0 compared to .NET Framework 4.7.2 for the previous generations of ILSpy. All artifacts except the self-contained distribution are built framework-dependent, which means .NET 6.0.2+ must be installed prior to starting ILSpy. Note - none of the following lists are exhaustive except of course the first one: New Language Features C# 10: record structs C# 11: Required members C# 11: ref fields C# 10: Support DefaultInterpolatedStringHandler Output attributes on lambda expressions Updated pattern detection for Roslyn 4.4.0 Contributions More themes - Light/Dark are the original ones, R# & VS Code added (see #2906 and #2931 by @ltrzesniewski) Improve selected text highlighting (see #2938 by @Konctantin) Namespace nesting in ILSpy tree view (based on code provided by @ds5678 in #2667) ilspycmd received support for the "nested directories" option on project export. (see #2636 by @GreyXor) ilspycmd support for generating a solution from multiple projects (based on code provided by @marwie in #2364) Fix the ordering of COM interface methods, properties, and events to appear in their originally defined order (see #2639 by @zhuman) Allow user to provide ID when generating a PDB (see #2678 by @andrewcrawley) Assume conventionally named unresolved method references are properties or events (see #2677 by @fowl2) Add EnableWindowsTargeting propery to csprojs targeting net6.0-windows (see #2752 by @clin1234) Reduce allocations in TransformArrayInitializers (see #2731 by @ElektroKill) Fix crash target framework detection with C++/CLI (see #2698 by @kant2002) Add option to always fully qualify type names with global:: (see #2762 by @hexafluoride) Fix #2736: ILSpy decides to fully qualify type name when it is not necessary (see #2789 by @ElektroKill) Add progress reporting to PortablePdbWriter (see #2802 by @andrewcrawley) Add IEntityProcessor to ReflectionDisassembler (see #2835 by @tom-englert) Fix dynamic type index calculation in ApplyAttributeTypeVisitor (see #2840 by @ElektroKill) Add support for another using pattern (see #2841 by @ElektroKill) Fix debug assertion regarding using directives (see #2843 by @ElektroKill) Add support for VB cached delegate initialization (see #2844 by @ElektroKill) Add support for VB auto events (see #2845 by @ElektroKill) Add support for lock statements within yield return state machines (see #2846 by @ElektroKill) Add support for VB async state-machines (see #2853 by @ElektroKill) Enable various passing ignored tests (see #2852 and #2854 by @ElektroKill) Improve support for post-increment/decrement on pointers (see #2856 by @ElektroKill) Add support for record structs in CSharpAmbience (see #2911 by @ElektroKill) Add support for Visual Basic Yield Return state machine decompilation (see #2874 by @ElektroKill) Fix ResXResourceWriter support for MemoryStream resource element (see #2895 by @ElektroKill) Use .interfaceimpl type syntax (see #2903 by @ltrzesniewski) Fix empty parameter names in delegate declarations (see #2912 by @ElektroKill) Support disassembling ReadyToRun binaries compiled using composite mode (see #2944 by @cshung) Make return duplication in ControlFlowSimplification less aggressive (see #2972 by @ElektroKill) Show a dark title bar when a dark theme in ILSpy is selected (see #2948 by @tom-englert) Consider constructor type when lifting decimal constants (see #2953 by @ElektroKill) Extend EliminateRedundantTryFinally in ReduceNestingTransform (see #2959 by @ElektroKill) Enhancements Move Settings to ILSpyX (see #2869). Additionally, many platform-independent APIs have been moved to ICSharpCode.ILSpyX since Preview1. ILSpyX is published as a standalone NuGet package for others to reuse. Performance optimization of analyzers (see #2643) Various performance improvements in the type system and decompiler engine. (see #2766 and #2754) #2684: Iteratively unhide compiler-generated code, if it is referenced by user-code Support native ints in "Combine bit.and into shift" transform #2780: Show embedded resource size Use Unsafe.SizeOf when taking the size of a managed type Bug fixes Please see the release notes for Preview1 to RC1 for details or, for a full list of changes click here.Download Link to comment Share on other sites More sharing options...
Recommended Posts