Best practice deployment folder structure

Topics: Building and extending application blocks, General discussion
Jan 17, 2008 at 11:54 AM
I'm looking for best practice on a folder structure for deploying an application. The application is a simplified version of the Smart Client - Composite UI Application Block, and was build after looking at the concepts involved in this guidance document.

The application uses a main WinForms "shell" executable which loads and runs panels compiled in class library dlls at runtime. The panels available to a user are determined by data held in a database and shown to the user as menu options. The dlls are loaded at runtime using Reflection.

There may be 100+ panels of this type which will be compiled into dlls by type - perhaps 5 per dll. Each dll may also use associated data access dlls. Some of these may be common to many panel dlls.

What is best practice for a folder structure for deployment? Options include a single folder for all dlls so that the common dlls are available across all dlls. Alternatively these could be stored in separate folders separated by functional area. This raises issue with duplication of common dlls. How is this done for applications built around the Smart Client - Composite UI Application Block?

We are considering using Team Build to manage build and deployment overall, but we still need to decide on a folder structure.

Pointers to best practice guidance would be helpful.