Re:Visual Studio for Mac Preview
by WorldMaker on Wednesday November 16, 2016 @01:49PM
(#12970067)
.NET binaries can export COM components (just as C/C++ and other languages may), but are not COM components by themselves.
There is some confusion here because the part of the "export surface" design for .NET binaries/modules was originally designed to replace COM's "interface design language" (IDL) in a version of COM that was never quite finished. Coming back full circle the .NET "export surface" design was indeed recycled for the WinRT component model (the COM replacement of the WinRT/UWP stack) in its library metadata format (.winmd), which to .NET tools look like a .NET binary that is missing all of its (IL) code.
Long story short, .NET was not built on top of COM but parts of it were designed to backwards compatibly replace it/inter-operate with it. (...and then some of those same parts reused in COM's eventual actual replacement.)
I believe that .NET binaries, at least on Windows, are actually built atop COM but I'm not sure. Been a while since I've cared =)
COM = Component Object Model.
https://en.wikipedia.org/wiki/Component_Object_Model