I create 2 .NET applications and run them on a machine – how many CLR’s and gc’s will be there?
In addition: I would like to have some background information on how Windows handles COM components and CLR in particular. Hope someone could detail down to how CLR loads in memory and what it means if I get multiple CLR instances listed on running this command:
tasklist /m mscor*
Is it multiple CLRs actually or a single CLR as a COM server for all .NET processes?
Each process will have its own copy of the CLR as a hosting process. However, since the CLR is really just a couple of DLLs Windows will be able to share the DLLs between processes. For more information see: http://msdn.microsoft.com/en-us/magazine/cc301727.aspx