Yes they did, every programming language needs a runtime, unless we're taking about Assembly. C also has a tiny one, even though most folks don't think so.
https://learn.microsoft.com/en-us/previous-versions/visualst...
One of the .NET design ideas was exactly to have a common runtime between VB6+, J++ and C++, using COM, but the lawsuit from Sun made them pivot to something else.
https://web.archive.org/web/20190111203733/https://blogs.msd...
This idea came back as WinRT, which they completly messed up, and for me it was how .NET 1.0 should have been in first place.
https://arstechnica.com/features/2012/10/windows-8-and-winrt...
Unfortunely that ship has sailed, given how bad UWP landed.