.NET .dll не нативные.
А вообще через Wine и обертки над ним вполне возможно и обычные .dll.
Ну только для опенгл это вряд ли имеет смысл.
А вот OpenGL на C#, получается, есть смысл, потому что OpenTK.dll из моего примера на GitHub работает. Я думал, что только на Windows откомпилируется. Я когда-то слышал, что появился VS for macOS, но не думал, что проекты могут быть совместимыми, да и ещё dll - я считал, что только для Windows, а они оказывается бывают кроссплатформенными. Я не .NET Core создавал, а консольное приложение для Windows, где OpenTK создаёт окно. Вот если бы ещё сделали VS for Linux, тогда бы проект и на Linux запустился бы будучи созданный на Windows. Я читал, что вроде бы OpenTK 4 выйдет для .NET Core, тогда можно будет один раз собрать и через .NET RunTime запускать. Можно и GUI сделать на OpenGL, как в игрушках - в свободном стиле и даже в 3D.
Там есть Mono.
На Маке же тоже что-то типа того, .NET Core/Xamarin/Unity. Точно нет WPF и т.п. например.
То есть на Linux тоже можно скачать мой VS-пример и он запустится? Mono же был перекуплен Microsoft и они могли сделать совместимость с Visual Studio.
хз, но на маке как я понимаю тоже что-то основанное на Моно, так что если там запускается, то и на Линуксе скорее всего.
ВинФормс и консольное там вроде работает более-менее, некоторые даже для веба используют уже пару лет.
Мне нравится их новый проект .NET Core (https://dotnet.microsoft.com/) Можно как на Java собрать один раз приложение (в .dll) и это приложение будет запускаться везде, где установлена .Net Core RunTime - это аналог Java RunTime. То есть я один раз делаю сборку, а пользователю Windows, Linux и macOS достаточно один раз поставить .Net Core RunTime Правда, GUI вообще не реализован, только консольные приложения и ASP.NET. Есть сторонний чей-то проект GUI на .NET Core, но он в бета-версии: https://github.com/AvaloniaUI/Avalonia
GUI там боль и страдания.
Что не возьми то бажное то не работает, то документации 0.