JustAssembly has gained a command line interface in the assembly diff tool, making it easy to generate an easily analyzed XML file to test your build.
We have recently added a command line interface to our JustAssembly assembly diff tool. One can use the command line to generate an XML file describing the differences between the output of the previous and the latest build. That effectively makes it possible to use JustAssembly in an automated build pipeline to control the scope of the changes in future releases.
Command line usage of JustAssembly is straightforward:
justassembly.commandlinetoool.exe Path\To\Assembly1 Path\To\Assembly2 Path\To\XMLOutput.xml
The resulting XMLOutput.xml is also structured intuitively:
<
Assembly
Name
=
"Telerik.Pivot.Core, Version=2013.2.923.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7"
DiffType
=
"Modified"
>
<
Module
Name
=
"Telerik.Pivot.Core.dll"
DiffType
=
"Modified"
>
<
DeclarationDiffs
>
<
AssemblyReference
Name
=
"Telerik.Windows.Controls, Version=2013.2.724.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7"
DiffType
=
"Deleted"
/>
</
DeclarationDiffs
>
<
Type
Name
=
"Telerik.Pivot.Core.CalculatedAggregateDescription"
DiffType
=
"Modified"
>
<
DeclarationDiffs
>
<
DiffItem
DiffType
=
"Modified"
>Member is more visible.</
DiffItem
>
</
DeclarationDiffs
>
<
Property
Name
=
"CalculatedField"
DiffType
=
"Modified"
>
<
Method
Name
=
"get"
DiffType
=
"Modified"
>
<
DeclarationDiffs
>
<
DiffItem
DiffType
=
"Modified"
>Method changed to virtual.</
DiffItem
>
</
DeclarationDiffs
>
</
Method
>
</
Property
>
<
Method
Name
=
"CreateAggregate()"
DiffType
=
"Deleted"
/>
</
Type
>
……………..
</
Module
>
</
Assembly
>
It converts the assembly hierarchical structure to XML hierarchy. The assembly contains modules and the modules contain types which in turn contain members. Each entity is decorated with a DiffType attribute that specifies the type of difference found.
XMLOutput.xml can be further analyzed with any of the great number of XML tools out there and the results of this analysis can mark an automated build as a success or failure depending on what changes are considered admissible.
JustAssembly is a free and open-source product that helps you ensure version compatibility, and contributors are welcome! Head on over to Github to find out more, and let us know what you think there or in the comments below.
Tsviatko is the Lead Developer for JustDecompile and Fiddler.