• The same reason you'd create an assembly for any development project, code re-use. You may have a need for some kind of custom conversion that will be used by many or all of your reports. Instead of copying and pasting code around between reports you create an assembly and reference in all reports, perhaps even creating custom templates that include the reference. I can't think of a specific instance where I've done it. The one time in my current position where I considered it, I chose to go a different direction because the same thing could be accomplished without custom code.