Using NuPack with MonoDroid

In case you haven't heard, the Outercurve Foundation released an early CTP1 version of NuPack, a package management system for .Net. This project allows for other projects and their dependencies to be added directly into an application. This alleviates the need to go searching around the web to figure out where a project is, what dependencies it needs, what version is support for which version of the framework, NuPack will take care of this for you. It will also let you know if there's an update available for that project too. More information can be found about NuPack here.

For the past few weeks I have been playing around with the latest MonoDroid CTP bits (sign up here if you want to get involved) and ported over the library created by James Newton King to be used on MonoTouch and MonoDroid (you can find the project on Github). With NuPack getting released, what better way would there be to get MonoDroid .Net libraries integrated into your MonoDroid application than using NuPack itself.

Since MonoDroid is a framework, when we create the NuPack package targeting MonoDroid and all we have to do to allow the library to work is to create a "MonoDroid20" folder under our lib folder (following the conventions from the NuPack documentation) to allow this. The reason we're using "20" is that the version of MonoDroid is actually 2.0, which apparently helps with targeting Silverlight and MonoTouch bits in the core lib. Now my package list looks a little like the image below: on MonoDroid  

I could push this library up to the official NuPack Packages project but MonoDroid is still currently in private preview and the list of packages doesn't filter down by framework, I didn't want to fill the package list with something most people won't use. I have however filed a bug for framework filtering so feel free to vote it up

I'm now just waiting for MonoDevelop to support NuPack packaging so I can get MonoTouch libraries up and running on NuPack too.

Hope this helps,



1 Comment

Comments have been disabled for this content.