My SharePoint Visual Studio solution structure currently contains these projects:
- Common: contains extension methods, helpers, frequently used controls, etc.
- Logging: would normally be included in Common but contains calls to native methods so marked 'unsafe'
- Site-specific project: one for each distinct site, containing features, web parts, event receivers, etc. specific to that site
- Console app: console app projects as/if needed
I'm using WSPBuilder hence each project (apart from the console apps) has its own SharePoint WSP solution file.
Is this a good way to split up SharePoint code? What approaches do you use?