Skip to content

Dotsider.Core.Analysis

Core analyzer that reads a .NET assembly and extracts PE, metadata, IL, and string information. Uses PEReader and MetadataReader from the BCL.

public sealed class AssemblyAnalyzer : IDisposable

Compares two assemblies and produces a detailed diff result. Uses dictionary-based O(n) matching by name.

public static class AssemblyDiffer

Builds a dependency graph from an assembly’s references and type refs. Uses a hierarchical tree layout with the root assembly at top center.

public static class DependencyGraphBuilder

Decodes IL (Intermediate Language) method bodies into human-readable instruction sequences.

public sealed class IlDisassembler

Opens and analyzes a NuGet package (.nupkg) file. Reads package metadata from .nuspec and lists all contents.

public sealed class NuGetPackageAnalyzer : IDisposable

Manages launching a .NET assembly as a child process and collecting runtime events via EventPipe diagnostics (PID-based connect with retry).

public sealed class RuntimeTracer : IDisposable

Computes IL code size per method and builds a hierarchical size tree for treemap visualization.

public static class SizeAnalyzer

Extracts strings from .NET assemblies across three sources: the #US heap (user string literals), the #Strings heap (metadata identifiers), and raw printable character sequences from the binary.

public sealed class StringExtractor