"loose binding" to dll's

P

pieter.breed

Hi All,

It seems as if whenever you rebuild a .net class library you have to
rebuild /everything/ which references it. Is this so?

I am wondering what happens when you are only doing a minor change on
an assembly which does not change any interface at all, if it is not
then possible to let your other assemblies use the new one
automagically?

I have some dll's which are registered for COM by regasm.exe, they all
depend on another common dll which recently had a minor bug-fix. I had
to recompile everything to get it to use the new version of the dll. Is
this how it is supposed to be?

Regards
Pieter Breed
 
A

Andrew McNerlin

Are you using static or auto-incrementing version numbers?

Andrew McNerlin

-----Original Message-----
From: (e-mail address removed) [mailto:p[email protected]]
Posted At: 14 December 2004 15:23
Posted To: microsoft.public.dotnet.general
Conversation: "loose binding" to dll's
Subject: "loose binding" to dll's

Hi All,

It seems as if whenever you rebuild a .net class library you have to
rebuild /everything/ which references it. Is this so?

I am wondering what happens when you are only doing a minor change on
an assembly which does not change any interface at all, if it is not
then possible to let your other assemblies use the new one
automagically?

I have some dll's which are registered for COM by regasm.exe, they all
depend on another common dll which recently had a minor bug-fix. I had
to recompile everything to get it to use the new version of the dll. Is
this how it is supposed to be?

Regards
Pieter Breed
 
P

pieter.breed

Hi,

Essentially we use static version numbers although we cannot deploy two
different files, but with the same file name and version number.
Does this affect the answer?

Regards
pieter
 
R

Richard Grimes [MVP]

Essentially we use static version numbers although we cannot deploy
two different files, but with the same file name and version number.
Does this affect the answer?

During development you can remove the strong name and then versioning does
not work (the file has to be in the app folder). Once you have finished
development you can add the strong name to the library and versioing will be
switched on.

Basically, when your assembly uses a library the full name of the library is
put in your assembly. If the library does not have a strong name (ie no
PublicKeyToken) then the only bit of the name Fusion can trust is the short
name, and so Fusion will pick up any library with that short name in your
application's folder. If you give the library a strong name, then Fusion
will use *all* of the library's name when it looks for the library and will
complain if there isn't a library with the *exact* name. You can use a
configuration file to change this behaviour.

More details here:

http://www.grimes.demon.co.uk/workshops/fusionWS.htm

Richard
 

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