Sunday, February 14, 2010

Rationalizing Assembly Reference

This morning I stumbled on an accidental usage of NDepend. It is accidental in the sense that we didn't forecast this usage.

We recently added a new Visual Studio project to build an assembly named NDepend.Install.VisualStudioAddin.exe (which I hope is sufficiently well named to avoid the need to explain its role). As we are relying on the DevExpress DXperience for some of our UI stuff, I referenced all DevExpress assemblies available. I knew there were not all needed for compilation and NDepend gave me two ways to see which assemblies were actually required:

  1. From the NDepend Project Properties panel the tool tip on the column Code to Analyze > ApplicationAssemblies > References tells me which assembly is really referenced.
  2. By generating a CQL query asking which assemblies are directly used by the assembly NDepend.Install.VisualStudioAddin.exe.

As a consequence, the assemblies selected (in blue in the Solution Explorer panel) are not needed, and I pinpointed that the reference to System.Xml was not needed as well.

Read more: CodeBetter.com

Posted via email from jasper22's posterous