.NET était vraiment destiné à remplacer COM. Le projet avait beaucoup de noms pendant qu'il était travaillé, mais il a commencé sa vie comme "COM +". Cette influence est encore évidente dans de nombreux endroits. Beaucoup de fichiers de code source de base pour le CLR commencent avec le nom "com", même si le CLR utilise (presque) aucun COM du tout. Le code d'exception Windows pour une exception gérée est 0xE0434F4D. Les 3 dernières valeurs du code sont ASCII pour "COM".
L'affirmation que WCF était un remplacement n'est pas précise. Il a remplacé .NET Remoting. COM a une très large gamme, c'est un outil d'interopérabilité générique, un peu comme le CLR permet à de nombreuses langues d'interopérer. Une de ses caractéristiques était l'interopérabilité entre différents processus et machines, peut-être la source de la déclaration. Mais c'est juste une partie de ça.
Il existe encore beaucoup d'applications COM qui n'ont pas été remplacées par .NET. Le meilleur exemple est le shell Windows, Explorer.exe. Assez difficile de faire quelque chose d'aussi simple que de créer une extension de shell de menu contextuel en C#. Et jusqu'à .NET 4.0 fortement déconseillé.
COM a fourni pas mal d'options d'interopérabilité différentes ... que recherchiez-vous précisément? –
@Justin Niessner Dans ce cas, rien de spécifique. C'est une question générale, juste pour mieux comprendre la tendance dans les concepts – rem
Je dirais que l'analogique actuel dans le monde Windows à COM est encore COM. Il est loin d'être obsolète et reste le modèle de base des composants de Windows, Office et autres logiciels permettant l'interopérabilité la plus élevée possible. Bien sûr, il existe différentes approches telles que les services Web, SOA, WCF, etc., mais elles abordent généralement des choses légèrement différentes. Le remplacement le plus proche de COM est .NET lui-même, comme indiqué par AakashM. –