CIL Tools 2.4
General
- New project: CilTools.CommandLine
CilTools.BytecodeAnalysis
- Add support for including bytecode size and source code lines in disassembler output
- Add support for .entrypoint directive
- Add support for generic constraints
- Add support for properties in disassembler
- Add ICustomMethod interface as a base for custom method implementations to replace CustomMethod base class. This means that custom method implementations can now be derived from MethodInfo or ConstructorInfo.
- Improve generics support. Generic context is now passed correctly to generic parameter types is more cases; this enables getting generic parameter names and their declaring methods/types.
- Fix TypeSpec.IsGenericParameter for byrefs
- Fix ldtoken syntax for methods
- Fix string literal escaping in disassembler to use ECMA-335 rules
CilTools.Runtime
- Update custom method implementations to derive from MethodInfo/ConstructorInfo and implement ICustomMethod
CIL View
- Add support for opening C#/VB code and MSBuild projects
- Add Show source support
- Add options to include bytecode size and source code lines (from PDB) in disassembler output
- Add support for opening IL source files
- Add support for .entrypoint directive
- Add Export type to file menu command
- Add support for generic constraints
- Add support for disassembling properties
- Add support for interactive method execution
- Use .NET Core runtime directory when resolving dependencies for .NET Core assemblies
- Use runtime directory of the inspected process instead of current runtime directory for assembly resolution when opening a process
- Load assembly images from memory instead of files when opening a process
- When an assembly contains a single type, automatically navigate to that type
- When the type contains only one non-constructor method and no other members (like fields), automatically navigate to that single method when type is selected
- Change member identifier color to more visible with lower brightness
- Fix
ldtoken
syntax for methods - Fix string literal escaping in disassembler to use ECMA-335 rules