Dissecting NuPack (Part 1) Introduction

These days, Microsoft has released an open source package manager, for .NET with Visual Studio integration:


NuPack has a console program, a Visual Studio extension, and a server to host your packages (Microsoft has an online server online, but you can run your own). Interesting, the code was written with open source developers, that are involved in Nu project, another open source package manager. And the project now is open to accept collaboration from the developer community. Notably, hours after the public launch (the project was under development for months) external devs updated the source to be compile in Mono, the multiplatform .NET implementation.

NuPack doesn’t compile the source code of the packages. It exposes the binaries or source code, to be downloaded and integrated in our current solution in Visual Studio. It manages the dependencies between packages, but it is up to developers and authors to keep the health of dependencies. Then, the project is less ambitious than others, like Horn, that got the source code from open source repositories and compiled it.

I would like to learn how NuPack implements its features, what is its internal structure, how it manages feeds and downloads, its integration with Visual Studio and PowerShell, the way the team covered the code with tests, etc… This is only a brief post, with links about NuPack, an introduction to the project “dissection” 😉

There are some interesting post about the history of NuPack and its relation with Nu project and alikes:

Unicorns, Triple Rainbows, Package Management and Lasers by @bsimser one of the authors of previous Nu project
The Evolution of Package Management for .NET

There is another project with the source code of published packages:


Video at Channel 9

Web Camps TV #8 – NuPack with Phil Haack | Web Camps TV | Channel 9

Many developers are preparing their software to be packaged with NuPack, examples:

Using Solution Factory + NuPack to create Opinionated Visual Studio Solutions
forks/jglozano/turbineserver: log

The .NET community received the new project with divided opinions. A lot of excitement and interests was distilled in Twitter and forums, and some skepticism, too. This is a thread in the semi-defunct Horn project:

Microsoft NuPack

My NuPack links:


Keep tuned!

Angel “Java” Lopez

1 thought on “Dissecting NuPack (Part 1) Introduction

  1. Pingback: Dissecting NuPack (Part 2) The Package Feed « Angel “Java” Lopez on Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s