I'm planning to build a shared librarie toolbox for my customer. The idea is to factorize reusable code in a single utility framework.
Some of the classes can run on Sandboxed solution, other requires farm solution. But as the sandboxed compatible classes can also run on farm solution, how do you recommand to structurate the project ?
I assume I'll end with two projects : MyCustomer.SharePoint.Common and MyCustomer.SharePoint.Common.Sandboxed.
When class are compatible with sandboxed solution, should I :
- duplicate the code (does not like it)
- Link the code between the two projects (using Visual Studio Add existing item dialog, add as link option)
- suggest the consumer developer to reference Sandboxed assembly even in farm solutions
- Another option I don't know yet ?