I have a .Net application with dlls that some have been compiled with .Net 1.1 and some with 2.0. How does such an application work - is there just one application runtime? If so, what is it? If there is no way to pass objects between run loops?
You are correct in saying that the application only uses one runtime. In your case, the entire application must use the 2.0 runtime: the 1.1 runtime cannot understand the 2.0 DLL, but the 2.0 runtime knows about the 1.1 DLL.