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
Many developers are preparing their software to be packaged with NuPack, examples:
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:
My NuPack links: