The SnagL™ project is a large Visual Studio 2010 solution that is made up of several different projects.  Hopefully this article will assist in explaining how this solution is organized and what is contained in each project.

The solution is broken into the following 4 solution folders:

Folder Name Description
Application Contains projects directly related to the application
Host and Integration Contains sample host and plug-in projects
Solution Items Contains general files related to the overall solution
Testing Contains unit tests


This folder contains projects that make up the application.  The table below describes these projects:

Name Description
Berico.SnagL This project represents the core of the SnagL™ application
Berico.Common This project contains general classes and interfaces not directly related to SnagL™
Berico.Windows.Controls This project contains a suite of custom Silverlight controls.  This project was made open source and added to Codeplex in 2009.  It will now be maintained as part of this project.
Berico.SnagL.Model This project represents the Model (the data) portion of the application.

Host and Integration

All sample hosts and sample plug-ins can be found in this solution folder.  The table below describes these projects:

Name Description
Berico.SnagL.Host.Facebook A prototype that gathers Facebook friend information and displays it in SnagL™
Berico.SnagL.Host.Basic A very basic sample host that passes in a sample GraphML file
Berico.SnagL.Host.Samples A sample host that lets you select different samples hosts to demonstrate (this includes the previous project)
SnagLExtensionTutorial An example plug-in project which demonstrates how to create toolbar and tool panel plug-ins
AnotherSnagLExtensionTutorial Another example plug-in project

Solution Items

The main purpose of this solution folder is to provide a place to store general solution-related files.  The most important folder here is the Reference folder.  This folder contains all of the external libraries that are used by SnagL (such as the MVVMLight Toolkit and Prism).


The purpose of this solution should be fairly obvious based on the name.  It contains several projects that contain unit tests.  Each project is named after the parent project that the unit tests directly relate too.

Last edited Feb 25, 2011 at 6:34 PM by Berico, version 3


No comments yet.