G
Guest
Hi
On reading the several posts I found that the only way to unload an assembly is placing it in seperate AppDomain and unload this AppDomain
My scenario
I have an assembly wrapping a third party legacy DLL. This DLL is very picky about re-initialisation. The official advise from the vendor is "Restart your app". Since I can't afford this (server app), I'm looking for a complete unload and thus to "trick" legacy DLL and fake a fresh start
BUT: Although AppDomain.Unload works (no exception), neither the .NET wrapper assembly nor the legacy DLL are really freed and kicked out of memory
I have the following indications
- the files are still locked (not my concern here
- "static" variables in the .NET wrapper assembly still hold their "old" values from the last star
- the legacy DLL still holds some internal state (unknown to me), to I can't "fake" a fresh star
What am I doing wrong ? Is there any way to completely kick this legacy DLL out of memory
Thanx in advanc
Dier
On reading the several posts I found that the only way to unload an assembly is placing it in seperate AppDomain and unload this AppDomain
My scenario
I have an assembly wrapping a third party legacy DLL. This DLL is very picky about re-initialisation. The official advise from the vendor is "Restart your app". Since I can't afford this (server app), I'm looking for a complete unload and thus to "trick" legacy DLL and fake a fresh start
BUT: Although AppDomain.Unload works (no exception), neither the .NET wrapper assembly nor the legacy DLL are really freed and kicked out of memory
I have the following indications
- the files are still locked (not my concern here
- "static" variables in the .NET wrapper assembly still hold their "old" values from the last star
- the legacy DLL still holds some internal state (unknown to me), to I can't "fake" a fresh star
What am I doing wrong ? Is there any way to completely kick this legacy DLL out of memory
Thanx in advanc
Dier