C# this weekend…appdomains and runtime loading of assemblies

I’ve used runtime loaded DLLs as plug-ins in native code for a long time. I’m now looking at some work that would benefit from C# based plug-ins…ideally ones that can be unloaded as needed.

By default, in C#, assemblies are largely ‘load only’ and cannot be unloaded from a process. AppDomains allow one process to be partitioned in a way that acts a little like process boundaries.

I’m going to put together some sandbox code to gain familiarity with this mechanism. I’ll post the samples on my github account as I go.

If the weekend goes smoothly I may also build out some more of the code needed to manage file archiving and duplicate removal that I’ve been planning on implementing for some time. I’m starting in on some of the C++/CLI code needed to provide access to the native APIs that return unique volume and file ID information. Most of these are not currently exposed in the CLR world and this information is very useful if you’re trying to manage files and filesystems.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.