Some cross-platform considerations have been built into it from the start, though. And there has been an official open-source implementation on a non-Windows platform. Perhaps more to show that it's possible than as an actual usable artifact, but it was there.
Mono existed from very early on with .Net and the core was pretty compatible. I think when MS bought Xamarin, it finally got the attention it deserved, and really did go to help .Net Core take form.