.NET was very much intended to be the replacement for COM. The project had many names while it was being worked on, but it started life as "COM+". This influence is still evident in many places. Many of the core com/tag/source">source code files for the CLR start with the name "com", even though the CLR uses (almost) no COM at all. The Windows exception code for a managed exception is 0xE0434F4D. The last 3 byte com/tag/values">values of the code is ASCII for "COM".
The assertion that WCF was a replacement is not accurate. It replaced .NET Remoting. COM has a very wide range, it is a generic interop com/tag/tool">tool, much like the CLR allows many languages to interoperate. One of its features was supporting interop between different processes and machines, perhaps the com/tag/source">source of the statement. But that's just a part of it.
There are still lots of COM applications that have not been replaced by .NET. The best example is the Windows shell, Explorer.exe. Pretty hard to do something as simple as creating a context menu shell extension in C#. And until .NET 4.0 strongly discouraged.
manpreet
Best Answer
2 years ago
COM technology seems a little outdated already, though still in use. But what approach is recommended now for implementing the same kind of interoperability when building a .NET app, specifically, in WPF?
I.e. what is a modern replacement of a COM object?