.NET był bardzo pomyślany jako zamiennik dla COM. Projekt miał wiele nazw, podczas gdy był opracowywany, ale rozpoczął życie jako "COM +". Wpływ ten jest nadal widoczny w wielu miejscach. Wiele podstawowych plików kodu źródłowego dla CLR zaczyna się od nazwy "com", nawet jeśli CLR w ogóle (prawie) nie korzysta z COM. Kod wyjątku dla systemu Windows dla zarządzanego wyjątku to 0xE0434F4D. Ostatnie 3 bajty kodu to ASCII dla "COM".
Twierdzenie, że WCF było zamiennikiem, nie jest dokładne. Zastąpił .NET Remoting. COM ma bardzo szeroki zakres, jest to ogólne narzędzie współdziałania, podobnie jak CLR umożliwia współpracę wielu języków. Jedną z jego funkcji było wspieranie współdziałania różnych procesów i maszyn, być może źródłem oświadczenia. Ale to tylko część tego.
Istnieje wciąż wiele aplikacji COM, które nie zostały zastąpione przez .NET. Najlepszym przykładem jest powłoka Windows, Explorer.exe. Całkiem trudno zrobić coś tak prostego, jak utworzenie rozszerzenia powłoki menu kontekstowego w języku C#. I aż do .NET 4.0 zdecydowanie odradzam.
COM zapewniał wiele różnych opcji interoperacyjności ... których, konkretnie, szukasz? –
@Justin Niessner W tym przypadku nic konkretnego. Jest to ogólne pytanie, tylko po to, aby lepiej zrozumieć trend w pojęciach – rem
Powiedziałbym, że aktualny analog w świecie Windowsa do COM to nadal COM. Jest on daleki od przestarzałego i nadal najważniejszego modelu systemu Windows, pakietu Office i innego oprogramowania umożliwiającego najwyższą możliwą interoperacyjność. Oczywiście istnieją różne podejścia, takie jak usługi sieci Web, architektury SOA, WCF i podobne, ale te zazwyczaj odnoszą się do nieco innych rzeczy. Najbliższym zamiennikiem COM jest sam .NET, jak stwierdził AakashM. –