[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]dll hell
From: |
Rhys Weatherley |
Subject: |
Re: [DotGNU]dll hell |
Date: |
Sun, 22 Jun 2003 13:38:17 +1000 |
User-agent: |
KMail/1.4.3 |
On Sunday 22 June 2003 01:22 pm, john bailo wrote:
> dot net promises to deliver us from dll hell
>
> but ms dotnet compiles to dll ' s
The "dll hell" that MS promises to deliver us from is that of DLL versioning.
With regular DLL's, it is very easy to overwrite a newer version with an
older one, and mess up the applications that depended upon the newer one.
The MS implementation "solves" (if that's the right word :-) ) this problem by
allowing multiple versions of the same DLL to exist side by side in the
system. Applications are strongly bound to the DLL versions that they rely
upon, so that (theoretically) an application will always get the version it
wanted, even if other versions exist on the system.
i.e. MS has re-invented the shared object versioning that has existed in Unix
for quite some time. :-)
This tends to fall apart when you move to other CLR implementations, which
won't necessarily use the same version numbers. i.e. they've replaced the
hell of overwritten binaries with the hell of mis-matched version numbers
across implementations.
> what does dotgnu offer?
Right now, we don't support DLL versioning - the version numbers are present,
but ignored by the runtime engine. All of the library assemblies are in the
one directory. I'm investigating how to handle multiple versions of the same
thing, while remaining compatible with MS-compiled programs. It's kind of
moot until the runtime engine stablises anyway.
For the time being, if you want to run several versions side-by-side, you need
only install them in separate directories and set the CSCC_LIB_PATH
environment variable to specify the location of the libraries you want to
use.
> what is the equivalent of a dotnet windows service? a daemon?
Probably. There's nothing that prevents the DotGNU Portable.NET runtime
engine from being run as a daemon, since a daemon is just a process like any
other under Unix.
The equivalent of "web services" is DGEE, which you can read about on our web
site, www.dotgnu.org.
Cheers,
Rhys.
- [DotGNU]dll hell, john bailo, 2003/06/21
- Re: [DotGNU]dll hell,
Rhys Weatherley <=