Multiple projects

R

Richard

I have just joined a new company.
We currently have one exe project and three dll projects

I am not very satisfy doing like this as we can complete the project with
only one exe and one dll project. Other programers said that if we have only
one big projects then it will consume more memory to load, so it's better to
break it into projects. My question is does it really a good idea to break
it into projects because of memory reason. Does it really load the whole dll
when we run the app.

Please clear my confusion.

Thanks,
Richard
 
S

Stoitcho Goutsev \(100\) [C# MVP]

Richard,

I don't think your question has a simple answer. Breaking finctionality into
separate dlls is a complex decision. Very often I believe programmers go
extreem by choosing to have more DLLs that they need or no DLLs at all.
I don't think run time memory consumption should be a reason to break over a
lot of dlls.

The only thing that I'd like to say is that If you have many dlls and you
use all the classes in them they will end up laoded anyways. Secondly
laoding time for application with a lot of dll is longer because there is
overhaed of work involved in laoding DLLs.

On the other hand more dll could make them smaller and in smart client
deploynment scenarios this could make the differentce. Since the dlls are
downloaded on demand it is not the same downloading 2MB dll at once or
couple of hudred K dlls spread over the time.

So, what I'm trying to say is that the answer is not simple and many factors
should be considered.
One unexpolid .NET feature for example is to use multy-module assemblies. It
could be good solution in some cases, but unfortunately VS doesn't support
creating such assemblies and I don't know if anyone has ever played with it
to say if its worth it or not.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top