c# - How are the assemblies installed by MonoGame different from those in the MonoGame.Binaries NuGet package? -
there few ways monogame's assemblies monogame project far can tell:
- you can reference assemblies installed monogame installer
- you can use monogame.binaries nuget package, must reference dlls package.
- ... or can use monogame.portable nuget package.
what difference between these 3 options? how related 1 another? how should used in project?
a example of confusion in terms of libraries can found in example of monogame.binaries
vs. assemblies installed installer. monogame.binaries
doesn't seem provide same level of granularity installer does, @ least far can tell; instance:
- from monogame installer have assemblies divided platform: android, ios, linux, windows, windowsgl, etc.
- from
monogame.binaries
nuget package have only: monoandroid, monomac, monotouch, net40, netcore, , wp8.
to me, looks monogame.binaries package out of date, if isn't , wanted set proper linux
, windowsgl
, and/or directx windows
project using convenience of nuget package, choose net40 first 2 , netcore directx platform?
(nb: extent, understand purpose of monogame.portable
meant create cleaner code base more code re-use platform independent, role compared , contrasted other library sources still pretty nebulous me.)
thanks asking monogame nuget packages.
yes, monogame can used installing main monogame installer (available windows) installs supported platforms , project templates visual studio. (there monodevelop package out of date)
the main installer available stable package released v3.2. (there automatically updated installer updated automatic build engine monogame uses, accessing not recommended unless know doing)
some time ago started initiative publish monogame libraries (and project templates), after while accepted monogame core team , not published under official monogame nuget account. offers 2 releases, current 3.2 stable release updated each major release, there dev release (as alpha) updated on regular basis or major change more frequently.
the nuget packages have same goals installer doesn't require on machine beforehand.
now due limitations nuget cannot deliver available platforms, because nuget doesn't offer detailed platform identification, main platform type (windows, windows 8, windows phone, android, monotouch, monomac, etc), none of variances ouya. doesn't support linux. limits platforms can deliver in single package, little. did have discussion releasing second package varients felt confuse things.
so platforms supported nuget are:
- windows gl (.net 4)
- windows 8 (winrt) desktop , rt
- windows phone 8 (8.1 not supported yet due dependency issues)
- android
- ios
- macos
the base dll's provided in monogame.binaries package
we ship project template files empty solutions in new monogame nuget package (which installs binaries package dll's), adds platform specific files , configuration required each platform. supports of above platforms well.
so use monogame nuget, can either use existing project built using monogame installer , remove references , install either stable monogame.binaries nuget or monogame.binaries alpha (this means notified of new releases / fixes deployed). alternatively can start empty project , install monogame nuget install project files dll's.
choice yours.
as monogame.portable nuget package, solely maintained me (until such time wine , dine mg team include it). special version of monogame can used in pcl (portable class libraries) create shared library contain game code abstract platforms. there's post describing it's use here: http://darkgenesis.zenithmoon.com/monogame-building-portable-solutions/.
using portable pattern build games option should wish manage multi-platform project way.
now future, monogame team , it's contributors recognise there few documentation gaps use of platform, long term goal improve scope of documentation it's slow process. first arm of tackled creating new samples repository promote standards building multi-platform solutions monogame. repository has several other sample in development if choose out. posted new samples here http://darkgenesis.zenithmoon.com/monogame-building-portable-solutions/
so can see there multitude of options , framework growing.
to sum up, have several options use awesome monogame framework:
- use monogame main installer , use built in project templates
- create solution using installer templates , replace dll's stable nuget release. automatic notifications of new stable releases
- create solution using installer templates , replace dll's dev / alpha nuget release, automatic updates of new dev releases
- use blank project , use either of above nuget releases same effect don't have have installer. note works in monodevelop nuget :d
- download , use source luke
if want use portable library, shared pcl game library, create platform project normal , reference portable library game code.
feel free note down issues above , i'll answer other pertinent questions.
hope helps
Comments
Post a Comment