Home » Visual Studio

VS2010: Is there a tool which can shape relationship among all assemblies in a solution?

we try to draw a diagram about our application assemblies relationship.

We wonder is there a tool can help us to achieve this?



5 Answers Found


Answer 1

In Visual Studio 2010 ultimate, you can use UML component diagrams, Layer diagrams or dependency graphs. UML component diagrams will be familiar to most developers, but have to be created manually. Layer diagrams help you enforce assembly relationships, but don't show the individual assemblies. Dependency graphs are simple blocks and arrows, but can be generated automatically from your projects and assemblies.

Hope this helps,


Answer 2

Layer Diagrams: Guidelines http://msdn.microsoft.com/en-us/library/dd418995(VS.100).aspx?ppud=4

In Visual Studio Ultimate, you can describe the structure of an application at a high level and verify that the code conforms to this high-level design by using layer diagrams. To ensure that the code stays consistent with the design, you can include layer validation as part of the build process.

Like a traditional architecture diagram, a layer diagram identifies the major components or functional units of the design and their interdependencies. Each node on the diagram, called a layer, represents a logical group of namespaces, projects, or other artifacts. You can draw the dependencies that should exist in your design. Unlike a traditional architecture diagram, you can verify that the actual dependencies in the source code conform to the intended dependencies that you have specified. By making validation part of a regular build on Team Foundation Server, you can ensure that the program code continues to adhere to the system's architecture through future changes.

Define Layers to Represent Functional Areas or Components

Layers represent logical groups of artifacts, such as projects, code files, namespaces, classes, and methods. You can create layers from artifacts in your Visual Studio solution, or you can attach specifications or plans to a layer by linking documents, such as Word files or PowerPoint presentations. Each layer appears as a rectangle on the diagram and shows the number of artifacts that are linked to it. A layer can contain nested layers that describe more granular tasks.

As a general guideline, name layers according to their function, for example, "Presentation" or "Services". If the artifacts are closely interdependent, place them in the same layer. If the artifacts can be updated separately or used in separate applications, place them in different layers. To learn about layering patterns, visit the Patterns & Practices site at http://go.microsoft.com/fwlink/?LinkId=145794.

vedio: http://channel9.msdn.com/posts/clinted/UML-with-VS-2010-Part-5-Architecting-an-Application/

Application Architecture Guide Layer DiagramsFree



Non-trivial matters of interest to software architects and other like minded geeks.


Visual Studio Visualization and Modeling Tools - Team blog:


Architecture Tools in VSTS 2010 by somasegar



Layer Diagram Extension using the Feature Pack


 Visual Studio 2010 Architecture Tooling Guidance




Answer 3

Jane, if you have Visual Studio Ultimate you will find an Architecture Menu which can generate a Dependency Graph of all the output assemblies in your Visual Studio solution.  I have a video on my blog that shows how this works.  You can also invoke this feature from the Archticture Explorer on any random assemblies you have on disk, and this is shown in the Video at 8 minutes 40 seconds into the video.

Answer 4

Hi Chris,

Thanks for providing the above link!

I like the videos about Dependency graph and the Architecture Explorer.



Answer 5

You can also read about these tools in the MSDN Library: Visualizing Existing Code


<< Previous      Next >>

Microsoft   |   Windows   |   Visual Studio   |   Sharepoint   |   Azure