.Net Versioning FAQ

Must I use a Strong name?


Not if your assembly loads from a sub-directory of the ‘Application
Base’ [1]


Can my dll load from the Application Base [1]?


Yes.  This is the simplest
choice.  No configuration is needed


Can my dll load from a subdirectory of the Application Base [1]?


Yes.  If the subdirectory has
the same name as the dll then no configuration is required. 
Ie if xxx.dll is in [Application Base]\xxx\xxx.dll no configuration is
required.  If your dll resides in
another subdirectory then the easiest choice is to add a <probing> tag to
the config file.  See below for Can I edit the XML by hand?


Does the runtime care about version numbers?


Not if you use a weak name


…and if I use a strong name


You must have an assembly with the right version number. 
An assembly with the ‘wrong’ version number will work if you add a
suitable <bindingRedirect> tag to the config file. 
The binding redirect tag identifies dll versions that may be used in
place of the ‘correct’ one.  See below for Can I edit the XML by hand?


If I have a version number, can I change the code and not change
the version?


If you can put your hand on your heart and say that the new file will
always substitute the old then you can just rebuild using the same old version
number.  Of course you now have no
idea what’s really in a version X file.  There is no check that the content of a Version X file is any
different to the content of any other Version X file.


Can I load a dll from a directory that is not a subdirectory of the
Application Base


Yes.  But you must use a
strong name.  You add a <codebase>
tag to tell the runtime where to look.  Be
careful.  You have to have
the fully qualified URL to the file, from protocol to extension. 
This conflicts with the hint in the configuration tool.  See below
for Can I edit the XML by hand?


Can I edit the xml by hand?


Of course, but it’s very easy to get wrong. 
The runtime does not complain - it just does nothing. 
Use the MMC snap in.  (Administrative
Tools|Microsoft .Net Framework 1.1 Configuration). 
Expand applications and add the app you want to configure.


Why doesn’t the FAQ answer my question?


Because it’s incomplete.  Sorry
– I’m doing my best!  If you get
the answer to your question email it to us
and I will add it.


[1]         Application Base – typically the directory that the Executable loaded from

Copyright 2002-15 by Dynamisys Ltd