> > Are inter-library dependencies specified?
> 
> As far as I know, inter-library dependencies are handled automatically.
> In other words, you link against A.dll and you don't care whether A.dll
> depends on B.dll or C.dll or both. You thus never have to compute the
> transitive closure of the needed DLLs. But you _do_ have to specify
> the complete list of directories where to find DLLs.
> 
> Please correct me where I'm wrong.

Not all implementations are as clever as this, although they are
permitted (not required) to be by the ECMA standard.  For example,
.NET 1.1 normally behaves as follows: 

If you make X.exe depend on A.dll only, and A.dll occassionaly invokes
code from B.dll, the link succeeds and X.exe can be run.  When code
in A.dll accesses a type(*) from B.dll for the first time, TypeLoadException
will be thrown.  

Other implementations may throw the exception at any earlier time, or even
refuse to execute X.exe.

Jirka

---

(*)  Type is a class or interface; everything belongs to a
type, including information such as the assembly version for example,
which is an instance of a class named AssemblyVersionAttribute, which
in turn has a few members of class Int32 and so on).



Reply via email to