Quantcast
Channel: WE MOVED to github.com/nuget. This site is not monitored!
Viewing all articles
Browse latest Browse all 7612

Updated Wiki: NuGet 2.5 list of features for Testing days 3/27 to 3/29 , 2013

$
0
0

2.5 Feature details:

Enable package to import .targets or .props file into project & enable support for Native packages

Sample package
Sample package dependency
Following are details from dotnetjunly on how this works:
2.5 adds the ability for NuGet to import MSBuild-based .targets and .props files into the project.
For this feature, new top-level folder is introduced, build, in addition to content, lib and tools. Under this folder, you can place two files with fixed names, <package id>.targets or <package id>.props. These two files can be either directly under \build or under framework-specific folders just like the other folders. The rule for picking the best-matched framework folder is exactly the same as in those.
When NuGet installs a package with \build content, it will add an <Import> element in the project file pointing to the .targets and .props files. The .props file is added at the top, whereas the .targets file is added to the bottom.

Added Update All button in the dialog to allow updating all packages with one click

Update all feature now allows you to update all the available updates in single shot.
Scenario:
1. Create new mvc application
2. Launch manage NuGet package dialog by right clicking the project or the solution
3. Select updates and click update all


When building a package from a project, when -IncludeReferencedProjects is specified, projects referenced by the project are either added as a dependency of the package, if nuspec file exists, or are added into the package if nuspec file doesn't exist.

Now nuget.exe pack command processes referenced projects with the following rules:
  1. if the referenced project has corresponding nuspec file, e.g. there is a file called proj1.nuspec in the same directory as proj1.csproj, then this project is added as a dependency to the package, using the id and version read from the nuspec file.
  2. Otherwise, the files of the referenced project are added to the package. Then projects referenced by this project will be processed using the sames rules recursively.
  3. All dlls/pdb/exe files are added.
  4. All other content files are added.
  5. All dependencies are merged.
So basically, a referenced project is treated as a dependency if there is nuspec file, otherwise, it becomes part of the package.
More details here http://nuget.codeplex.com/workitem/936

Add the 'minClientVersion' attribute to manifest schema to allow packages to require minimum version of NuGet & added -minClientVersion argument to the nuget.exe pack command

This feature helps package author to specify that his/her package would work only after a particular version of NuGet.
For example, portable library support was added in NuGet 2.2 If you want to specify that my package would only install if the user has NuGet version >= 2.2, you can specify it in nuspec file like this
<metadata minClientVersion="2.6">

You can also pass minClientVersion  to NuGet.exe pack command to have it added in the resultant nupkg file.

NuGet won't update a dependency package if the installed version already satisfies the constraint of dependency version

Following are details from @dotnetjunky

The scenario: 
The source repository contains package B with version 1.0.0 and 1.0.2. It also contains package A which has a dependency on B (>= 1.0.0). 
Assume that the current project already has package B version 1.0.0 installed. Now you want to install package A. 

In NuGet 2.2 and before: 
When installing package A, NuGet will auto-update B to 1.0.2, even though the existing version 1.0.0 already satisfies the dependency version constraint, which is >= 1.0.0. 

From NuGet 2.5
From 2.5, NuGet will no longer update B, because it detects that the existing version 1.0.0 satisfies the dependency version constraint. 

Here's the bug which prompted this design change http://nuget.codeplex.com/workitem/1681. We believe this will result in less undesired situations in which upgraded packages cause incompatibilities with other packages in the same project. 
Discussion thread here http://nuget.codeplex.com/discussions/436712

Nuget.exe outputs the http requests it is making when -Verbosity is set to detailed

Nuget.exe outputs the http requests it is making when -Verbosity is set to detailed.

Add support for UNC and directory path as source for push and delete commands

NuGet.exe now supports push to UNC
NuGet.exe push -Source \\mycompany\repo\ mypackage.nupkg

Allow users to overwrite files if there's a file conflict in package and project

NuGet Visual Studio Extension, NuGet.exe and Powershell Console now prompts you for overwriting file

NuGet.exe update now has a new option -FileConflictAction to set some defaults from commandline for CI scenarios.
Set default action when a file from a package already exists i n the target project. Set to Overwrite to always overwrite files. Set to Ignore to skip files. If not specified, it will prompt for each conflicting file.

Add to all commands new option -ConfigFile, which enables user to use his/her own config file instead of the default one %AppData%\nuget\nuget.config

Example:
NuGet.exe sources add -name test -source http://test -ConfigFile c:\.nuget\nuget.config

Click here to go Back to Community testing initiative page

Viewing all articles
Browse latest Browse all 7612

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>