Solution Wide Dependency Management for .NET
NuGet will now be available in version 1.4 which improves over version 1.3 with features such as ability to manage packages at the solution level, improvement in Update–Package command, support in constraining the range of versions while updating packages and more. Along with the new features there are total of 88 work item fixes, 71 out of those being bug fixes.
The key feature in the latest release is NuGet’s ability to manage packages at the solution level. In the prior versions users had to go through a cumbersome process of opening a dialog each time to install a package into multiple projects. With this new feature, the user can just open one dialog which will allow installing/uninstalling/updating a package in multiple projects.
NuGet has also improved on the package manager console update – package, making it easier to keep same versions of all the packages across multiple projects in a solution from the command line. There are multiple update package options that are now available.
NuGet team has also taken into consideration the problem that could occur while updating all the packages in all the projects. Since the package is updated to the latest version in the live feed there could have been scenarios wherein a package in an application would be upgraded to a version which is not supported. This situation is handled by giving an option to constrain the range of versions that packages can be upgraded to, ensuring that packages in an application are not upgraded to versions that it does not support. This constraining can be done by hand editing the packages.config file using the new allowedVersions attribute
Also, to help users easily visualize all the projects and their package dependencies NuGet 1.4 will now come with Package Visualizer. This will only be available for Visual Studio Premium or Higher.
Along with all the new features, several work items have been resolved. The release notes highlights three key bugs that have been fixed
- Issue 603: Package dependencies across different repositories resolves correctly when specifying a specific package source.
- Issue 1036: Adding NuGet Pack SomeProject.csproj to post-build event no longer causes an infinite loop.
- Issue 961: -Source flag supports relative paths.
Work is under way for the NuGet 1.5 release and in his announcement Phill Haack highlights the theme for future releases. -
- Simple package creation: We constantly want to lower the bar for creating and sharing code from inside and outside of Visual Studio.
- NuGet in the Enterprise: This includes CI scenarios outside of Visual Studio, authenticated feeds, etc.
- Flexible packaging: Includes things like including assemblies that are not referenced but deployed and vice versa.
- Developer Workflow: We’re looking at common workflows that don’t match our own expectations and how we can support them. This also includes workflows we do know about such as the use of pre-release packages etc.
NuGet is a Visual Studio 2010 extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects that use the .NET Framework.
Camille Fournier May 21, 2015