AppDomain.CreateDomain() crashes the player

I’m working on a mod for the Unity-based game Kerbal Space Program, and also developing an as-yet-unreleased Unity-based game. In both of these places, I’m looking to use AppDomains to allow dynamic loading and unloading of assemblies.

The issue I’m having is anytime I make a call to AppDomain.CreateDomain(“name”) or any of its’ overloads, the player crashes.

A now-abandoned question, posted over a year ago deals with the same problem I’m having, with no answer, as do several (years old) forum posts.

The only post apparently having found an answer is this post and reply, dating back to 2007 and Unity 2.0 - I’ve been unable to make the workaround described in that post work, and the user has not logged into the forums since '09

Does anyone have any insight into this crash, or some sort of workaround?
I believe I’ve done my homework, in that there is no other way to unload assemblies without ending the program - workable alternatives are welcome!

So, dynamic assemblies won’t work on iOS, WebGL, WebPlayer and (all?) consoles. For other environments, I’d probably first look at using an entirely separate process and communicate purely through sockets (or shared memory if you need that). Chrome does this to give each web page and plugin a separate memory space. It’s a heck of a lot cleaner and a lot of your problems go away.

However, that’s not great if you need to do Unity-specific stuff in plugins.