Today I want to share how I organize Visual Studio Solution for small and medium size Microsoft Dynamics CRM implementation projects. For big projects solutions' structures are different and significantly depend on projects.
It doesn't mean that all solutions I did have the same structure. But all solutions have some or all projects from the list. Some solutions have even more projects.
Let me describe each project and folder one by one.
Contains Proxy classes, Option Sets, Extensions, Common logic for plugins, workflows, tools and add-ons.
Contains plugins. I will explain how I organize this project in my next posts.
Contains custom reports.
Contains versions of Microsoft Dynamics CRM Solutions we working on
Contains Workflow Activities
Folder "Tools" contains console applications for service tasks (For example: old annotations clean up tool) and tools to execute periodic (For example: Credit Limit Updater (has to be executed nightly)) or one-time business logic.
Folder "AddOns" contains web applications. (For example: "Custom calendar").
To avoid compilation issues we have to configure solution properly. Right click on the solution and choose "Properties"
Following window will be opened:
Select "Configuration" on the right side of the window and then uncheck "Build" checkboxes for "Solution" and "WebResources" projects. Click "Apply".
Good luck with your projects :)
You can download sample solution here: