Prism Contrib Coding Guidelines

Contributors should check back to this page often as these guidelines will likely evolve based on customer input and team discussions.


All code in this project should live under the PrismContrib namespace.
  • WPF extensions should live under PrismContrib.WPF
    • Tests should live under PrismContrib.WPF.Tests
    • Regions should live under PrismContrib.WPF.Regions
    • Commands should live under PrismContrib.WPF.Commands
    • Services should live under PrismContrib.WPF.Services
    • Interfaces should live under PrismContrib.WPF.Interfaces
    • Containers shoud live under PrismContrib.WPF.Containers
    • Automation should live under PrismContrib.WPF.Automation
      • Guidance packages should live under PrismContrib.WPF.Automation.GP
      • Snippets should live under PrismContrib.WPF.Automation.Snippets
    • Samples should live under PrismContrib.Samples
  • All Silverlight-specific extensions should live under PrismContrib.Silverlight using the same child namespaces as for WPF


Prism Contrib projects should reference Microsoft signed copies of Enterprise Library and Prism assemblies for consistency. However it should be easy for consumers of the code to recompile against unsigned or custom signed copies of the assemblies.

Source tree

All code will live under the Trunk folder
  • Samples will live under $/Trunk/Samples
  • WPF Extensions will live under $/Trunk/src/WPF
  • Silverlight Extensions will live under $/Trunk/src/Silverlight

Unit Tests

All contributed code should have high unit test coverage, and the unit tests should be checked into the appropriate place in the code tree.

Documentation and Samples

All submitted extensions should include basic documentation explaining the intended usage scenarios, the available configuration options (if applicable) and the API (if applicable). The documentation should be posted on this CodePlex site in the Documentation section. Samples or QuickStarts demonstrating the use of an extension can be checked into the Samples section of the source control if appropriate.

Last edited Apr 15, 2008 at 2:28 PM by gblock, version 8


venki5star Jun 13, 2008 at 6:37 AM 
I am a newbie. I am just wandering around to get Smart Client Guideline for WPF for recent few months. That time I just came to know about "Smart Client Contrib" and started using it in my application. I am confused on seeing this project "Prism Contrib". I have downloaded some sample applications in Prism which looks same like SmartClientContrib.

Could you please explain me the difference between "Smart Client Contrib" and "Prism Contrib"? If both are similar which way should I have to use?