CLR — runtime; CTS описывает общую систему типов; CLS — подмножество правил для межъязыковой совместимости библиотек.
Разбор
- CTS задаёт, какие типы существуют в .NET.
- CLS ограничивает публичный API для всех CLS-языков.
- Фичи вне CLS допустимы внутри сборки, но не в public API.
- CLR исполняет код; CTS/CLS — контракты типов.
Итог
CLR исполняет; CTS унифицирует типы; CLS обеспечивает interop языков.