Nem, nem kell. Az a fajta kettősség, hogy volt a .NET Framework (Windows-only, proprietary) és volt a .NET Core (open source, crossplaform), az már megszűnt.
Van a .NET, open source, minden platformra elérhető SDK-val. Ebben az SDK-ban a Windows-only funkcionalitások értelemszerűen nincsenek benne, csak az, ami minden támogatott platformon (Windows, Mac, Linux) működik. Például nincs benne Windowos ablakozó felület integráció, meg COM. De ugyanúgy van benne CLI fordító meg minden, pontosan ugyanolyan, mint egy JDK.
Ezt az open-source, minden platformra elérhető SDK-t letöltheted és telepítheted szabadon.
Aztán, hogy miben írod meg a kódot, legyen az vi/vim/VS/VSCode/Rider/notepad/emacs akármi, a build CLI-ből megy ugyanúgy.
Pontosan ugyanolyan a helyzet, mint a Javanál, csak a Javaban van Swing meg AWT UI, a .NET-ben meg nincs desktop UI library beépítve (mert nem támogatják a desktop UI-t, csak Windowson, arra külön Windows-only library van). De erre meg vannak crossplatform, open source megoldások is, pl. Avalonia UI.