Is CLR loaded and initialized everytime, when a new managed application is loaded and there is a managed application already present?
e.g. If on my machine, application “TestApp” is running and after that I start another application “DemoApp”. In this case, wiill CLR be loaded again for DemoApp? Or it will use the same one which is loaded by TestApp?
Yes, and assemblies are JIT compiled, heaps are allocated and so forth. The Windows image loader will help a bit but in general the CLR overhead is per process.