Extensibility (Add-In) Guidance
I have been asked on several occasions to articulate type versioning and isolation (and ensuring types do not leak) semantics. I worked with the CLR Add-In team to define and document these semantics relative to the System.AddIn model but you can certainly apply this knowledge to your .Net development. The document is written as a list of constraints allowed in a System.AddIn Contract. Here is the link to the Restrictions on Contracts.