NuPack – Package Management für .net und Visual Studio 2010

Seit gestern beschäftige ich mich mit einem neuen AddOn für Visual Studio. Ein AddIn, das die Chance hat, eines der wichtigsten der nächsten Zeit zu werden. Die Rede ist von NuPack. NuPack ist Paket-Manager, der es ermöglicht auf natürliche Art und Weise benötigte externe Assemblies in ein Visual Studio-Projekt aufzunehmen. Kein Erzeugen eines Lib-Ordners mehr. Kein SVN-Copy oder ähnliches, um die Assemblies in den Lib-Ordner zu kopieren…

Doch wie funktioniert das Ganze mit NuPack? Eigentlich ganz einfach. Als erstes brauchen wir mal das AddIn. Dieses kann zum einen von http://nupack.codeplex.com geladen oder über den Extension Manager hinzugefügt werden.

Nach erfolgreicher Installation der Erweiterung erhält man einen neuen Menüpunkt im Solution Explorer, der es einem erlaubt ein Package dem Projekt hinzuzufügen.

Im folgenden Dialog, der dem des Extension Managers nachempfunden wurde, findet man die bereitgestellten Assemblies bzw. Funktionalitäten.

Mit einem Klick auf den entsprechenden Install-Button wird das Package geladen. Automatisch wird die geladene Assembly neben der Solution in einen Package-Ordner abgelegt und die Referenz auf die Assembly dem Projekt hinzugefügt wird.

Weiterhin besteht die Möglichkeit Config-Einträge automatisch in die entsprechende Config einzutragen. Ein Beispiel hierfür ist Elmah.

Zusätzlich zu dem Dialog gestützten Installieren, gibt es noch den Weg über die Package Manager Console, die mit PowerShell-Befehlen die Funktionen des Dialogs abdeckt und darüber hinaus noch einige zusätzliche Funktionen bietet.

Ein weiterer spannender Aspekt der Erweiterung ist die generelle Funktionsweise. Die Liste der zur Verfügung stehenden Assemblies wird über einen Feed bereitgestellt, der in den Settings von Visual Studio eingestellt bzw. angepasst werden kann. Über diesen Weg und die Tatsache, dass ebenfalls ein Tool zur Erstellung der Packages auf der Code-Plex-Seite bereitgestellt wurde, lassen sich auch im Firmenumfeld deutlich einfachere Szenarien für die Bereitstellung einheitlicher und kompatibler Erweiterungen darstellen. Man braucht ja nur einen eigenen Feed mit den geprüften und erlaubten Assemblies bereitstellen und schon können diese von den Kollegen genutzt werden.


  1. Jimmy sagt:

    Greetings from Strijbeek, Netherlands.My name’s Jimmy and I want to ask: do you have a spam dilemma on this blog? I’m a blogger too and I’m wanting to know how many people have the same problem. A group of us has used the opportunity to formulate some techniques and we want to share ideas with fellow bloggers. If you’d be interested, don’t hesitate to drop me a line via email.

  2. Azar sagt:

    Nice post. I’m studying something similar here at University of Montana. It’s really beneficial to learn new things from fellow writers and collect information from new sources.
    If it’s okay, I’d greatly appreciate it if I can use some of the articles on your blog.
    And of course, I’ll post a link to your site at larshildebrandt.de on my own blog. Kudos for sharing.

Leave a Reply