Showing posts with label Dependency Visualizer. Show all posts
Showing posts with label Dependency Visualizer. Show all posts

Thursday, November 29, 2007

Dependency Visualizer 1.2.7

Turns out that Dependency Visualizer requires the Visual C++ Runtime version 7.1 (2003), and no-one had noticed (or at least not reported it to me).

The just released 1.2.7 fixes the installer to include the necessary files, otherwise nothing has changed since 1.2.6.

Monday, November 26, 2007

Dependency Visualizer now supports VS 2008

The just released 1.2.6 version of Dependency Visualizer now supports Visual Studio 2008 solutions/projects.

Sunday, October 28, 2007

Dependency Visualizer - now on CodePlex

I finally released Dependency Visualizer as open-source on CodePlex. It's new home is now there.

Wednesday, May 02, 2007

Visual Studio dependencies


I figured I'd walk through the details on how to find out dependencies of a Visual Studio solution/project. (For those who haven't figured it out yet, this is a description how Dependency Visualizer does it)


1) For MSBuild compatible project types, it's dead simple, just use the following XPaths, where msbuild stands for the MSBuild schema: http://schemas.microsoft.com/developer/msbuild/2003


Assembly references: /msbuild:Project/msbuild:ItemGroup/msbuild:Reference/@Include


Project references: /msbuild:Project/msbuild:ItemGroup/msbuild:ProjectReference/msbuild:Project/text() returns a relative path to the project file.


2) There are project types that aren't MSBuild compatible (most notably C++ ones), and due to popular demand, I had to add support for these also to Dependency Visualizer.


Assembly references are simple: /VisualStudioProject/References/AssemblyReference/@AssemblyName


Project references: Here is where it starts getting nasty..


/VisualStudioProject/References/ProjectReference/@ReferencedProjectIdentifier gives... you guessed it, a GUID identifying the referenced project. This means we have to parse the freeish text format of the solution file, to find out what project hides behind the GUID. But it gets uglier still, turns out that there's actually dependencies and dependencies. If you go to "Project Dependencies..." window (in VC++) and check a project, then you end up with a reference that's only existing in the solution file like so:



Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProjectName",
"ProjectName\ProjectName.vcproj", "{769945FD-50DC-49E4-B93E-54250D7BF541}"
ProjectSection(ProjectDependencies) = postProject
{A4583937-88F4-4C1D-B5A9-E711C3951E3A} = {A4583937-88F4-4C1D-B5A9-E711C3951E3A}
EndProjectSection
EndProject

Where the GUID:s fit together like so: the first one is the type, the one on the second row is the project identifier, the thwo on the fourth row is the identifier of the referenced project.








Technorati : , ,

Monday, March 26, 2007

Dependency Visualizer 1.2.0

Just released at http://koti.mbnet.fi/tunedude

Whats new:

  • Optionally hide .NET 2.0 references
  • Optionally hide .NET 3.0 references
  • Generate svg and/or png
  • Configurable (the above mentioned items)
  • Support for vcproj:s

Thursday, February 15, 2007

DependencyVisualizer

The second version of Dependency Visualizer was just uploaded. This time it might actually work :) And in the case it does not, the possibilities to get traces for me should be infinitely better than the first version.

Wednesday, February 14, 2007

Dependency Visualizer released

I just put up the first public version of the Dependency Visualizer. You might want to try it out..