Managed code is the code that is executed by the CLR. It provides information (i.e., metadata) to allow the CLR to locate methods encoded in assembly modules, store and retrieve security information, handle exceptions, and walk the program stack. The managed code can access both managed and unmanaged data.