determining files to include in assemblies

  • Thread starter Thread starter ChrisB
  • Start date Start date
C

ChrisB

Hello:

I am involved in the development of a NET application and was hoping for
some insight into the following question:

Outside of deployment considerations, what criteria should be used to
determine which classes to include in a given .NET project?

For example, if three class definitions, such as Customer, CustomerAccount,
and CustomerHistory are in the same namespace, are there any drawbacks to
associating each object with a separate project? Would it be preferable to
include these three definitions in the same project if they will be deployed
to the same machine?

Thanks,
Chris
 
The advantages and disadvantages to deploying them separately depend wholly on your needs

Whether or not you are planning to install them into the GAC may affect your decision, as versioning works differently for assemblies placed in the GAC as opposed to those placed in an application's folder. If you are planning to strong name the assemblies and expect to alter them on different schedules, separate deployment starts to look better

If they're private assemblies, won't change indepentant of each other, and are small enough that loading them at the same time won't cause performance problems, I would deploy all the classes in one assembly and save myself the hassle of dealing with multiple projects.
 
Good points. Thanks for the info, Jerry.

Jerry said:
The advantages and disadvantages to deploying them separately depend wholly on your needs.

Whether or not you are planning to install them into the GAC may affect
your decision, as versioning works differently for assemblies placed in the
GAC as opposed to those placed in an application's folder. If you are
planning to strong name the assemblies and expect to alter them on different
schedules, separate deployment starts to look better.
If they're private assemblies, won't change indepentant of each other, and
are small enough that loading them at the same time won't cause performance
problems, I would deploy all the classes in one assembly and save myself the
hassle of dealing with multiple projects.
 
Back
Top