.NET Core 3 and .NET 5

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.”

1 Like

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…

Sharpdx for the present isn’t going to break it’s stable and if a fix was necessary they could actually build a fork and do a fix if needed.

There has also been other people who have taken note and begun working on a successor already.
Speaking of .net core look at the comment here.

2 Likes

That was a good read, and reminded me of that time Microsoft had since diverged C# and VB…

Neither I, can understand Microsoft’s reluctance to support DirectX on C#/.NET… I almost forgot the name XNA there…….

Well that might change in the future the main cause of that as far as i can tell is long gone from ms.

Who knows this guy is still around as the lead dev for dx maybe in the future .net might get the green light for some over due graphical love. https://devblogs.microsoft.com/directx/author/shawnhargreaves/

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.

https://github.com/maxim-saplin/CrossPlatformDiskTest

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).

1 Like

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 @cra0zy 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.

Its been fully ported to .NET Core for an year now, and all the patches except the project file itself have been merged upstream…

https://www.nuget.org/packages/MonoGame.Framework.DesktopGL.Core/ nuget package.

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.

Thank you.

This comment explains it. Just select a different target framework if you want .NET Core 3.

Later on, yes. I probably won’t be working on this tho as I am a Linux peep.

If you want to help out with .NET Core support, please test the projects from my pull request: https://github.com/MonoGame/MonoGame/pull/6650

1 Like

@cra0zy 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 :frowning:

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

2 Likes

It looks like unifying Android and iOS under one .NET was pushed back to .NET 6 due to the coronavirus, but in the meantime we can look forward to previews of .NET MAUI

1 Like

Oh :poop:, Here we go again…

[Aimed at <> Microsoft]