IgnaceMaes / MaterialSkin

Theming .NET WinForms, C# or VB.Net, to Google's Material Design Principles.
MIT License
2.84k stars 829 forks source link

cross platform #144

Open joeblew99 opened 7 years ago

joeblew99 commented 7 years ago

I have not used dotnet for 6 years, and so not up to speed.

My question . Can this run on OSX and linux these days ?

marcelo2108 commented 7 years ago

hi, im not sure...but i think that microsoft turned .net framework to open source. And in this days make possible run visual studio in iOS. So... i think is possible...

hadi77ir commented 7 years ago

Microsoft didn't open the source of .NET Framework. It was .NET Core, which is an improved version of .NET Framework that is ideal for Server-Side because it doesn't contain WPF and WinForms implementations.

marcelo2108 commented 7 years ago

Thank u for Share your knowleague.

desarrollo03TR commented 6 years ago

@hadi77ir .net core is not an "improved" version of .net framework, it is open source, but it is not the full .net framework. There is not an "ideal" framework for server, bot, .net framework and .net core are great for server side, but .net framework only works on windows platforms, and asp.net core can run on Windows, Linux, Unix (including Mac).

hadi77ir commented 6 years ago

@desarrollo03TR It was posted one year ago, at that time I knew very little of it. But it is intended for server applications, as it has no GUI component out-of-the-box.

Nils85 commented 6 years ago

Ok so MaterialSkin does not work with .NET Core because it uses WinForms. But could it be cross platform with Mono? Someone has already tested?

Nils85 commented 6 years ago

The answer is NO because WinForms don't work with Mono on Mac OS X 64bit

YoshiRulz commented 1 year ago

So much outdated/inaccurate information in this thread...

.NET 6+ (formerly .NET Core) has WinForms and WPF, but this is a .NET Framework 4.6.1 project, so it's not going to work. The .NET Core version of WinForms requires targeting Windows anyway. Oh and MS did release the source for .NET Framework, but it's "source-available" i.e. not licensed for re-use.

There was a WinForms for macOS x86-64, we used it in this now-defunct port of our app. The macOS lead told me in October that the WinForms wrapper had finally been updated for "Apple Silicon" (AArch64), this time on .NET 6. But before then, it had been stagnant for years, and it wasn't working on the latest macOS release because of breaking changes to Cocoa or something.

Mono WinForms on Linux works fine. It's ugly, hard to debug, and its .NET 1.0 idioms increasingly stand out from our type-safe and Span-filled codebase, but it works. This library does not work under Mono as of version 0.2.1 because this external function isn't available.

System.EntryPointNotFoundException: AddFontMemResourceEx assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) MaterialSkin.MaterialSkinManager.AddFontMemResourceEx(intptr,uint,intptr,uint&)
  at MaterialSkin.MaterialSkinManager.LoadFont (System.Byte[] fontResource) [0x00018] in <1edb00a85b0242a786fb2ad441a7b86e>:0 
  at MaterialSkin.MaterialSkinManager..ctor () [0x000b3] in <1edb00a85b0242a786fb2ad441a7b86e>:0 
  at MaterialSkin.MaterialSkinManager.get_Instance () [0x0000a] in <1edb00a85b0242a786fb2ad441a7b86e>:0

https://github.com/IgnaceMaes/MaterialSkin/blob/199fa65616d09c0479767ff3713587a7b595286c/MaterialSkin/MaterialSkinManager.cs#L237-L238