What are the guidelines to consider when "wrapping" portions of an existing / legacy system in AppDomains; we have a scenario where we essentially load plug-ins to the current AppDomain and therefore can't unload them (and also can't clean up their resource leaks), we'd like to load them in their own AppDomain to help with resource cleanup as well as fault isolation.
These plugins reference some shared / static portions of our API, and these parts of the API will still need to be accesible across the AppDomains or at least functional from within the new AppDomain without requiring plugin changes.