Thanks for your answers.
I have another question
It's possible to load into app domain assemblies from two different
unrelated paths using two
diferent application base?
Example:
C:\ProgramFiles\Company\MySDK
and
\\remoteassembly\script.dll
The config file allows you to load a specific version of an assembly
from a specific location (as long as it has a strong name), so if you
have two assemblies one in C:\ProgramFiles\Company\MySDK and the other
in \\remoteassembly\, you can specify these locations in the config file
and (subject to security) they will be loaded.
However, you do have to question why you want to do this. The general
design of .NET is to have private assemblies in the application folder
(to facilitate XCOPY deployment) and to have shared assemblies in the
GAC. You should not share assemblies by providing your own company
folder (like C:\ProgramFiles\Company\MySDK) you gain nothing by doing
that.
Also, it means that you can only have one version of your company's
assembly in that shared folder. A new version would be copied over an
older version which would break older applications, this will be DLL
Hell all over again.
Loading from a remote site means that you download the assembly once -
the first time you access it - and the assembly will be cached locally
from where it will be loaded on the next run of the application. The
objects in this assembly will be run on the local machine. (Note that it
is cached in a user's profile folder, so if you can multiple users on a
machine they will *each* download the assembly once). So again, you have
to question why you want to download it from a remote location. If your
intention is to have the objects run on another machine, then you are
talking about .NET remoting.
Richard