MonoGame / MonoGame.Dependencies

The MonoGame binary dependencies submodule.
38 stars 51 forks source link

Include both desktop and UWP assemblies where necessary #115

Closed Jjagg closed 6 years ago

Jjagg commented 7 years ago

Previously the assemblies targeting .NET Standard were used except for MediaFoundation, but there are other assemblies in which we need some parts that are conditionally compiled. I didn't properly research this when I upgraded the assemblies and just pulled in the .NET Standard ones. Sorry about that.

Specific assemblies we need are:

Jjagg commented 7 years ago

Don't merge yet, this needs some tweaking. I think it needs the .NET 4.0 assemblies instead of .NET 4.5 and we need the XInput desktop-specific assembly too (I overlooked this because it was fixed already in the develop branch of SharpDX).

It's worth noting that the next release of SharpDX will let us use the .NET Standard assemblies for XAudio and XInput thanks to @amerkoleci

amerkoleci commented 7 years ago

If you find that other assemblies need to be fixed for .net standard please open issue on SharpDX, I will try to fix it

tomspilman commented 7 years ago

@Jjagg - So what is the status of this? Does it fix the issues with Xbox One UWP?

Jjagg commented 7 years ago

Oh, sorry I completely lost track of this and haven't pulled the right dependencies as described in my last comment. Will fix this ASAP and tag you when it's done. Thanks for the heads-up!

tomspilman commented 7 years ago

@KonajuGames @dellis1972 @DDReaper - Can you guys review this? I want to be sure we got things right this time.

SimonDarksideJ commented 7 years ago

Will this also affect the NuGet package dependencies @Jjagg ? do we need to select an alternate version. Must admit, I've had no issues pushing and running those on UWP, either on windows or xbox.

Jjagg commented 7 years ago

I think for the NuGets the target is picked automatically when you pull in a lib, right? So e.g. UWP would always use the uap10.0 lib. Or do you actually need to specify the target? Assuming the former, nothing needs to be done and that would explain why NuGets work properly.

tomspilman commented 6 years ago

@Jjagg @DDReaper - This good to merge then?

Jjagg commented 6 years ago

@tomspilman Yes, this is good to go. But I'd like to mention again, that users will not be able to simply target .NET Framework 4.0 to run their game on Windows XP because we use .NET Standard 1.1 libs which require .NET Framework 4.5 or higher (4.5 is the default target for the MG DX template).

If you'd like I can include all 4.0 assemblies from SharpDX so users can still easily target Windows XP if they want to.

tomspilman commented 6 years ago

If you'd like I can include all 4.0 assemblies from SharpDX so users can still easily target Windows XP if they want to.

Windows XP is now 16 years old and there have been 4 new major versions of Windows released since then. Not only that but less than 0.32% of Steam users are on XP... not 32%... but one third of one percent.

I think it is safe to not support Windows XP moving forward. Especially since anyone that wants to can easily use an older version of SharpDX/MonoGame if they need to.

@KonajuGames @dellis1972 ?

Jjagg commented 6 years ago

If dropping XP support is fine, these PRs are good to go.

SimonDarksideJ commented 6 years ago

This works for me. As for dropping XP support, I am also fine with that as apart from Cash Machines, most users have moved off to at least Win7.

Plus MS no longer supports security fixes on that platform either.

dellis1972 commented 6 years ago

The consensus seems to be for dropping XP. So I am merging.