
Recently, the NuGet batch manager for the .NET platform received another update to version 1.5. The following are the innovations in the new version.
Project templates with pre-installed NuGet packages
During the creation of a new ASP.NET MVC project, the jQuery libraries included in the project template are added to the project as NuGet packages. The ASP.NET MVC 3 project template contains a set of NuGet packages that are installed each time a new project is created based on the template. This ability to include NuGet packages in Visual Studio project templates is now a built-in NuGet function, which allows it to be used by
any type of project.
')
In order to learn more details about this opportunity, you can read
this blog entry from the developer of this function.
Explicit links to assemblies
A new <references /> package configuration element has been added, which allows you to explicitly specify those assemblies in the package to which links are needed. For example, if you add the following code:
<references> <reference file="xunit.dll" /> <reference file="xunit.extensions.dll" /> </references>
Now the links in the project will be added only for the two assemblies xunit.dll and xunit.extensions.dll, regardless of how many of them are located in the lib folder. If this description is omitted, then links to all assemblies that are located in the lib folder will be added to the project.
What is this function for?This feature supports work with assemblies used only during design or development. For example, when using Code Contracts, assemblies with contracts should be located along with normal assemblies and be accessible to Visual Studio, however, assemblies with contracts should not have links in the project and do not need to be copied to the bin folder.
The same is true for unit testing frameworks, for example, XUnit, which require access to their own supporting assemblies, which, at the same time, should be excluded from the list of references to project assemblies.
Added ability to exclude files from NuSpec
The <file> element in the .nuspec file can be used to indicate the inclusion of files specified with a mask in the project. When using a mask, it was not possible to exclude some of the files. In this update, this feature has appeared. For example, you want to include in the project all text files with the extension .txt, except for one of them:
<files> <file src="*.txt" target="content\docs" exclude="admin.txt" /> </files>
You can use a semicolon to list several files:
<files> <file src="*.txt" target="content\docs" exclude="admin.txt;log.txt" /> </files>
Or even use a mask to exclude a set of files:
<files> <file src="tools\*.*" target="tools" exclude="*.bak" /> </files>
Dialogue with request to remove dependent packages
During the removal of a package that has dependencies, NuGet will prompt the user for action on the dependencies: whether to remove them or not.

Get-Package Improvements
The Get-Package command now supports the –ProjectName parameter. For example, the following command will list the installed packages for the project with the name “A”.
Get-Package –ProjectName A
Proxy authentication support
When using NuGet for proxy servers that require authentication, NuGet will now request the necessary data. Entering this data will allow NuGet to connect to remote repositories.
Repository Authentication Support
NuGet now supports connection to private repositories of packages that require simplified or NTLM authentication. Digest authentication support will be added in a future NuGet release.
Performance improvements in the NuGet.org repository
We made some improvements that had a positive effect on the performance of the nuget.org package gallery. Access to the list of packages and search is now faster.
Filter projects in the solution dialog
In the Solution-level dialog, at the time of the request, which projects to install the package will show only those projects for which the package can be applied.
Explanation of the release package
NuGet packages can now include release notes. This information is displayed only when viewing updates for a package, so it should be added only in the version of the package after the first release.

To add an explanation to the release of the package, use the new <releaseNotes /> metadata section in the NuSpec configuration file.
NuSpec <files /> section enhancements
The .nuspec file now allows the use of an empty <files /> element, which tells NuGet that no files should be included in the package.
Bug fixes
In NuGet 1.5, 107 bugtracker elements were fixed and closed, 103 of them were marked as bugs. A complete list of fixes can be found at
this link .
Important fixes
- Issue 1273 : packages.config has become more version-friendly.
- Issue 844 : version numbers have been normalized, so
Install-Package 1.0
works with version 1.0.0
packages. - Issue 1060 : during package creation via NuGet.exe, the
-Version
flag overrides the <version />
element.