JustAssembly is a free, open-source utility developed by Telerik designed specifically to compare two .NET assemblies (.dll or .exe files) and perform line-by-line code differentiation. It combines an assembly comparison engine with the decompilation power of Telerik JustDecompile to let you analyze differences not just in public APIs, but inside the method bodies themselves. Key Features of JustAssembly
Deep Method-Level Diffing: Unlike simple signature matchers, JustAssembly analyzes differences down to the individual lines of decompiled C# or Intermediate Language (IL) code.
Semantic Method Matching: If a method’s signature or parameters change slightly between versions, JustAssembly smartly maps the old method to its updated counterpart rather than incorrectly marking the entire method as deleted and recreated.
Automated Build Pipelines: It features a Command-Line Interface (CLI) that exports structural differences into an easily parsed XML file. You can integrate this into a CI/CD workflow to track breaking API changes or verify semantic versioning. Step-by-Step Guide: Comparing and Decompiling 1. Load the Assemblies Open the JustAssembly desktop application. You will be prompted with a dual file-selection interface.
Select your Old Assembly (the baseline .dll or .exe) and your New Assembly (the modified version).
Click Load or Compare to trigger the background decompilation engine. 2. Navigate the Color-Coded Structural Tree
JustAssembly automatically maps out the namespaces, modules, classes, and members of both files in a hierarchical tree view. Differences are instantly highlighted using standard color mechanics: ● Green: Code/API additions.
● Blue: Modifications or structural changes within existing elements. ● Red: Deleted code, methods, or parameters. 3. Perform Line-by-Line Code Review
Expand the tree view and double-click on any modified member (marked in blue) or added type. A side-by-side comparative text viewer will open up.
The engine decompiles the underlying binary code into readable C# source code instantly.
You can scroll through the method body to pinpoint the exact logical updates made inside the code blocks. Using the Command Line Interface (CLI)
For automation, you can run JustAssembly via the terminal to output differences into an XML format. Use the following base syntax:
JustAssembly.CommandLine.exe “C:\PathTo\OldAssembly.dll” “C:\PathTo\NewAssembly.dll” “C:\PathTo\OutputReport.xml” Use code with caution.
The resulting XML file groups changes by modules, types, and members, using a DiffType attribute (e.g., Modified, Deleted, New) so that automated tools can pass or fail a build based on API compliance. Troubleshooting Decompilation Gaps Telerik.com
Leave a Reply