NuGet considerations

NuGet is the package manager for Microsoft development platforms including .NET. The NuGet client tools provide the ability to produce and consume packages. The packages follow standard versioning control and the version number increases each time it gets updated. All works well until you need to migrate to another Visual Studio Team Services instance.

The NuGet publish build step does allow you to transfer the package to another VSTS instance package manager, however currently there is no simple way to transfer the entire package including previous version. If the application code references previous versions NuGet then it will need to be updated to use only the latest (if possible).

When using VSTS hosted build agents required NuGet packages will need to be downloaded each time.  To reduce build times consider hosting your own build agent, only updated NuGet packages will be downloaded at build time.

NuGet build steps add Nuget packages to a VSTS build agent. If a particular package is required by a different build job then it needs to be available on the same build agent. This can become a bottleneck and clog up the pipeline. To prevent this configure additional NuGet build publish step to run on the additional build agents.