.NET очень задумывался как замена COM. У проекта было много названий, пока он работал, но он начал жизнь как «COM +». Это влияние все еще очевидно во многих местах. Многие файлы исходного кода ядра для CLR начинаются с имени «com», хотя CLR вообще не использует (почти) COM. Код исключения Windows для управляемого исключения - 0xE0434F4D. Последние 3 байта значения кода ASCII для "COM".
Утверждение, что WCF был заменой, неверно. Он заменил .NET Remoting. COM имеет очень широкий диапазон, это универсальный инструмент взаимодействия, так же как CLR позволяет взаимодействовать многим языкам. Одной из его особенностей была поддержка взаимодействия между различными процессами и машинами, возможно, источник заявления. Но это только часть этого.
Есть еще много COM-приложений, которые не были заменены .NET. Лучший пример - оболочка Windows Explorer.exe. Довольно сложно сделать что-то столь же простое, как создание расширения оболочки контекстного меню в C #. И до .NET 4.0 сильно не рекомендуется.