Using Inedo’s ProGet to Manage Infragistics NuGet Packages

Sarah Roman / Wednesday, September 12, 2018

In the world of modern software development, libraries are usually distributed using different packaging technologies depending on the platform (NuGet, npm, bower, ruby gems, etc.). 

Starting from Infragistics 16.2 we've provided NuGet packages for all Infragistics’ UI controls for licensed users through our package repository at https://packages.infragistics.com. It includes NuGet and NPM packages for our .NET/Xamarin and HTML/JS components. NuGet packages that are installed on the developer’s hard drive for both licensed and trial assemblies. 

We have been successfully using ProGet from Inedo to manage our packages in two core scenarios: 

  • For internal use, allowing usto push new internal versions of our components after each build so they can be used for internal evaluation.  
  • To enable our customers, install and get updates of our componentswhenever they are available, without the need of running an installer. 

The goal of this document is to explain how to set an internal feed for the Infragistics’ NuGet packages using ProGet. 

The first step is to install ProGet. You can get the installer from https://inedo.com/proget/download. For the sake of this article, we’d assume ProGet is installed with the default settings on the local machine, and it will be accessible in the http://localhost:8624 URL.  

We’ll use Infragistics Ultimate UI for Xamarin which can be downloaded here:  https://www.infragistics.com/products/xamarin. 

Creating a NuGet Feed for Infragistics Packages

After you install the product and log-in to it, you need to create a feed to host the packages. To do that you need to: 

  • Click the “Feeds” link orgo to http://localhost:8624/feeds: 

  • Click the CreateNew Feed button. If you are not authenticated, it will ask you for a user/password (the default is Admin/Admin), and you’ll see a dialog from where you can select the feed type, as can be seen below, ProGet supports most packaging formats: 

  • SelectNuGet as the feed type, setting the feed name to “Infragistics”. 
  • Click “Create Feed”.You’ll be taken to the page below where you can further configure the feed, you don’t need to change the default values for now:

  • Click“Add Package” to find about the different ways to add packages to the feed:

  • Add the packages atC:\Users\Public\Documents\Infragistics\NuGet by either 
  • Manually uploading them from disk, one by one.
  • Use the“Push via NuGet Command Line Utility” option to add them all. Note that you’ll need to use user:password as the ApiKey:  
    • nuget.exe push C:\Users\Public\Documents\Infragistics\NuGet\*.nupkg -ApiKey Admin:Admin -Source http://localhost:8624/nuget/infragistics

You should be able to see the packages in the ProGet page for the feed at http://localhost:8624/feeds/infragistics

Using the Infragistics Xamarin Packages in Visual Studio

After creating the feed, we need to tell Visual Studio about it by creating a package source, following the steps below: 

  • Run Visual Studio
  • Navigate to Tools | Options |NuGet Package Manager 
  • Add an entry in the “Available package sources”, using “InfragisticsProGet Source” as the name and http://localhost:8624/nuget/infragistics as the source: 

The next step is to create a Xamarin project and references to Infragistics’ controls. 

  • Createan Infragistics AppMap project, as it simplifies the process of creating a well architected Xamarin App: 
  • Select the platform you want to use. Android is selected by default as it’s usually simpler to run Android apps in Windows.
  • Create a simple application with just one content page using Infragistics’ AppMap:

  • Right-clickon the ‘References’ project item and select “Manage NuGet Packages”. 
  • In the“Package source” dropdown select “Infragistics ProGet Source”, click the “Browse” tab:

  • Install theCore.DataGrid package 

Xamarin does not currently provide a Toolbox for components installed through NuGet. Infragistics filled that gap by providing a Xamarin.Forms Toolbox that can look at the NuGet packages installed in the project, and enable developers to drag and drop controls into the XAML editor. To use the toolbox in Visual Studio you need to: 

  • Click View | Other Windows | Infragistics Toolbox, to display the toolbox. You’ll see only the Infragistics controls for which you added packages, and the standardForms controls: 

  • From the Toolbox, drag “XamDataGrid” to the XAML editing surface:

Summary

Using NuGet packages has become a standard in .NET development, and newer platforms like Xamarin are built on top of it. Infragistics Ultimate for Xamarin leverages NuGet and adds significant value for Xamarin developers. Package Managers have become a critical piece of development infrastructure and Inedo’s ProGet provides a seamless solution to that problem.