Telerik Blogs
June 20, 2017 .NET

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.

Got Feedback?

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.


About the Author

Tsviatko Yovtchev

Tsviatko is the Lead Developer for JustDecompile and Fiddler.

Related Posts