As of Prism v 2.2 it looks like this information is starting to fall out of date.  Use at your own discretion :)


Prism is amazing. It was pretty much made by geniuses.  Unfortunately, it’s kind of hard to figure out 1) where to download it and 2) what to do with it after you’ve downloaded it.  This is a guide that shows you how to get up and running with Silverlight Prism:

1. (optional) Go to the Prism Codeplex site.  Look for the download.  However, it’s a trick.  The Prism code is actually on MSDN.


2. Go to the MSDN site. Where you’ll find 3 confusing links.  Unless you’re interested in multi-targeting (sharing source between Silverlight and WPF sites), all you need is the first one.  Download the “CompositeApplicationGuidance-xxx.exe” file.


3. Launch the .exe and select a folder.  The Prism source will be extracted there.  Be patient.  This will take a few minutes.

4. Browse to the folder with the source.  Notice the help file.  This file has a lot of great information about Prism.


5. Dive into the “CAL” folder.  Probably stands for “Composite Application Library”, but no one knows for sure ;)


6. Select the “CompositeApplicationLibrary.sln” file.  *Don’t* select the “Desktop” version (this is for WPF).


7. Close the “Desktop” folder in the solution.  This is for the WPF source.


8. Consider whether you want a debug or release version of the libraries.  One handy trick is to create a debug build, and then make sure that the Prism source stays in its present folder.  That way, whenever you’re debugging your applications, you’ll be able to see Prism Source information on the call stack.


9. Build the Solution.

10. Navigate to the “..\CAL\Silverlight\Composite.UnityExtensions\Bin\Debug” (or, if a release build, “..\Bin\Release”).

This folder has the 5 key Prism assemblies:

  • Microsoft.Practices.Composite.dll
  • Microsoft.Practices.Composite.Presentation.dll
  • Microsoft.Practices.Composite.UnityExtensions.dll
  • Microsoft.Practices.ServiceLocation.dll
  • Microsoft.Practices.Unity.dll


Update (thanks to Ian Smith)

11. The pdf documentation for Prism can be found herepdf_doc (thanks to Ian for the screenshot):