What is the difference between AppDomain, Assembly, Process, and a Thread?

Edit
Report