help with managing .dll dependancies

G

Guest

Hi,

I have created multiple .dll's mostly representing libraries used by
multiple projects. The dll's are often dependant on each other , for example:-

..dll1 dependant on .dll2 dependant on .dll3

Managing releases of these libraries has become difficult as a change to
..dll1 in the example above means that .dll2 and .dll3 must also be recompiled
and released otherwise I get errors and compatibility problems.

Is there something fundamental that I am missing in how I should be
structuring my projects ? As i get more and more .dll's this will be a major
problem.

I use vsual studio 2003, c# but no source control.

thanks,
Simon.
 
W

W.G. Ryan - MVP

Comments below:
Simon Matthews said:
Hi,

I have created multiple .dll's mostly representing libraries used by
multiple projects. The dll's are often dependant on each other , for
example:-
In the solution properties (right click on the solution, select
Properties -> Common Properties -> Project Dependencies) you can specify
them there.

If you have them in the same solution this will work. Also, when you add the
references, right click on the project, choose Add Reference, then select
Projects. You can add the references there, and then whenever you select
Rebuild , any new changes will be handled automatically. As opposed to
pointing to a specific .dll, this is a lot easier since it's handled for
you. Also, depending on your end goal, you may want to use the GAC and
point there, although if I understand you correctly, that won't directly
solve your problem (I mention it simply b/c it is often a good practice and
may help you out)
.dll1 dependant on .dll2 dependant on .dll3

Managing releases of these libraries has become difficult as a change to
.dll1 in the example above means that .dll2 and .dll3 must also be
recompiled
and released otherwise I get errors and compatibility problems.
If you choose Rebuild instead of Build - then it will only build in the new
items if you made changes to any of the projects - and the ones that are
changed will be rebuilt. If I understand you correclty, adding references
via the Projects should fix this for you.
Is there something fundamental that I am missing in how I should be
structuring my projects ?

See above.
As i get more and more .dll's this will be a major
problem.

I use vsual studio 2003, c# but no source control.
Wow- this is pretty risky. Don't mean to lecture, but this is a disaster
waiting to happen. Source control pays for itself if it saves you just
once. And considering that Vault by SourceGear has a free individual
license, and CVS is also open source - I'd recommend using one of them at a
minimum. And although this is probably a point of dispute for many - Visual
Source Safe is probably the way to go if you can afford it - it integrates
really nicely with VS.NET (although admittedly so does Vault) and the
learning curve on it is probably 15minutes to an hour to learn how to do
most of what you want. You may well already know all of this, if so, then
ignore this. I certainly don't mean to lecture or make any assumptions - I
just worked in a shop that refused to use source control and we paid for it
in blood over and over.

HTH,

Bill
 
G

Guest

thanks for the reply Bill,

We do have quite a few different solutions covering many projects and having
them in one solution and using the project method as you describe provide for
a quick way to build everything but then the individual projects canot be
opened and we would have issues with the size of the solutions multiple
people working on it.

SourceControl is high on my list of things to sort out but it doesn't hurt
to be reminded of how risky my current set up is !
 
W

W.G. Ryan - MVP

Simon Matthews said:
thanks for the reply Bill,

We do have quite a few different solutions covering many projects and
having
them in one solution and using the project method as you describe provide
for
a quick way to build everything but then the individual projects canot be
opened
--Not sure I follow you here. If you have all of the projects in one
solution, you can just flip back and forth between whichever ones you want
to use.

and we would have issues with the size of the solutions multiple
---Ultimately they should be the same with very small discrepancies.
Actually, having multiple solutions would result in a little more space
being needed, but the dll's inside them should be the same size all else
being equal.

I may be misunderstanding you though - and if so , my apologies in advance.
If you could tell me a few more of the specifics, I'll do my best to try and
help out.
 
G

Guest

Thanks for the reply.

There would normally be several people working on the different projects so
opening one solution would cause us a problem with this. We tried opening
just the individual projects though, but with them belonging to the large
solution they will fail on the references to other projects in the large
solution so have to be opened through this.

When I said 'Big' I just meant with so much in the solution it does take a
long time to open etc...

I still think I may be missing something very obvious but i'm just not sure
what

Simon.
 

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