title: Dynamically loading and unloading a a dll generated using CSharpCodeProvider
body: <p>I have an app that uses some code scripts to generate dll's at run-time and invoke them as needed and have run into some questions before i go ahead and code it !</p>
  
  <p>Is it possible to unload them from memory when not needed ?
  If not - what would be the performance impact of loading them into separate appdomains and invoking the calls using some ipc etc. - btw, this needs to be highly performant/real-time</p>
  
  <p>Alternatively, how about loading multiple instances of the generated assembly ( with different version #'s of course ) ? I'd assume if you release all references not being used, it might be unloaded by the gc/framework ?</p>
  
  <p>Also a Q - would there be any "collisions" ( not sure if this is the right word ? ) in this scenario ?</p>