It was announced at the Microsoft Build 2019 conference that .NET Core 3.0 will be released in September, and .NET 5 will be released in November 2020. I’m wondering if anyone knows what this might mean for MonoGame and what we can expect.
“.NET 5 will build on this work, Microsoft says, combining .NET Core, .NET Framework, Xamarin, and Mono (the original cross-platform implementation of .NET) into a single platform.”
They are targeting crossplatform with core3.
They are pushing out a api for machine learning (aka… Neural Nets) aimed towards that i can only guess that api is meant as a way to simplify and streamline the process of building a fully pathed ai. Although this appears to be buisness oriented atm https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet
Some of the most recent success with these tensor flow based neural nets has been game related as seen by the DeepMind team with AlphaZero AlphaGo AlphaStar and recently AlphaFoldit.
We can already use core there is a template for it (the windows universal project).
So there is one thing right off the bat you can infer from the above that is a possible benefit for games built using .net in the future which of course monogame is.
Lest we forget, the guy who worked on SharpDx has now moved onto a new project? this has me wondering…
Still, will likely be staying with MG until further notice.
But, a code editor in the web………. depends how much I like using GitHub Private in future… still a great move for upcoming markets such as Africa, India and Brazil…
edit…
im going to quote a guy on stack overflow … Maxim Saplin
JIC, it’s possible to build desktop apps using Mono/Xamarin. Here’s
an example of Xamarin.Forms app targeting Xamarin.Mac (macOS) and
Xamarin.WPF(Windows) + Android.
At the moment it seems like Xamarin.Forms is the easiest way to start
building GUI apps for non-Windows platforms using XAML and C#/.NET.
Besides Android/iOS, there’s a variety of desktop platforms supported:
macOS (via Xamarin.Mac, GTK), Windows (via WPF, UWP, GTK), Linux (via
GTK).
Clearly, Core is the future of .NET, so MonoGame will have to adapt. Does anyone know what exactly is needed to be done? Does MG need to be converted to a Core project? What about dependencies? Is it possible to create a Core app that references the current MG assemblies?
I know @harry-cpp did some Core work in the past, but it’s not clear to me what the current status is. Could you please shed some light? Thanks.
So, if I wanted to create a new MG project targeting .NET Core 3, what would I do?
Also, this is DesktopGL. Now that Core 3 supports WinForms, is there a chance of WindowsDX Core support?
I’m asking, because my MG project uses DX and it includes WinForms tools, that use MG to paint the editing component.
@harry-cpp Thank you, the entire thread was very enlightening. Both your DesktopGL version and the default DX version of MonoGame seem to be running fine against Core 3 Preview.
@Jjagg I’m on Windows, so I tried compiling both DesktopGL and WindowsDX projects. They compile without problems (yay!). Any specifics on what needs to be tested? I can see macOS project is untested, sadly my ancient mac mini is no longer usable
Thanks for giving it a go.
A MG game should be able to run with all projects, so they all need testing. So every test of running a game with any of the projects helps.
The pull request needs a little bit more work so the tools can be built without Protobuild as well.
I wrote a tutorial the other day about how we use .NET Core with MonoGame.Extended.
The basic setup is the same as described in cra0zy’s comment on github but I’ve added a couple more bits here and there and explained some of the pros and cons of using .NET Core with MonoGame including why you might want to target .NET Core 3.0