EMDK for Xamarin development with Nuget on older devices

Over a year ago I wrote about what Zebra were doing in response to Microsoft closing down their Xamarin Component store and advising all developers to move to Nuget.  You can read that original article here but a lot of the content is not out of date so I though it made sense to provide some updated guidance.

To briefly review, Microsoft have aggressively transitioned developers from the previous Xamarin component store to use Nuget packages instead.  It is now impossible to create an application that uses Xamarin components unless you have those components cached within the project.

Organizations previously developing Xamarin components (such as ourselves, Zebra) therefore had to make their component available on nuget.org.  The EMDK for Xamarin Nuget component has been available for some time with versions 3.0 and 4.0 currently available as well as a release candidate version of 2.7.

The list of supported devices for EMDK 3.0 and 4.0 covers Marshmallow, Nougat and Oreo devices but we still have a number of customers creating or updating applications for Lollipop and KitKat devices.

To support Xamarin developers targeting Lollipop and KitKat devices we have now released our production EMDK for Xamarin 2.6 and 2.7 components as Nuget packages.  These older Nuget packages are only available to download from the Zebra support portal and not from nuget.org.  You need to download the zip file, unzip the nupkg file and import the nupkg file into your project either by:

  • Installing from the local package file: Install-Package C:\Path\To\Some\File.nupkg
  • Set up your own local NuGet server as explained in the Microsoft docs.

This StackOverflow post also provides some more context for installing local Nuget packages.

Which EMDK for Xamarin Version should I use?

The following chart should be useful to determine which version of EMDK for Xamarin you need:

EMDK Version

Devices supported

4.0

Selected devices running Marshmallow, Nougat and Oreo.  Full list.

3.0

Selected devices running Marshmallow, Nougat and Oreo.  Full list.

2.7

Selected devices running Lollipop, Marshmallow and Nougat.  Full list.

2.6

Selected devices running Kitkat, Lollipop, Marshmallow and Nougat.  Full list.

With the release of EMDK for Xamarin 2.6 and 2.7 as Nuget packages this should allow Xamarin developers to target Zebra devices running Operating systems all the way back to KitKat.