CLR provides a number of services that includes:
- Loading and executing of programs
- Memory isolation for application
- Memory management
- Providing metadata
- Verification of type safety
- Security
- Interoperability with other system
- Compilation of IL into native executable code
- Managing exception and errors