If you wanted to reference an assembly that you had written, your options were pretty limited:
- Register the assembly on disk with any referenced assemblies in the same directory.
- Register the referenced assembly in the GAC
- Include the relevant source code in the plug-in assembly
With the introduction of Solutions in Microsoft Dynamics CRM 2011, the first two options are not very manageable (as they require special setup on multiple servers during the installation of the solution). In addition, those options don’t work in Microsoft Dynamics CRM Online, since assemblies must be registered in the database in CRM Online. If you include source code, as the last option suggests, then all of the benefits of a referenced assembly are lost, without gaining any real benefits.