Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Build Status

AppVeyor Travis Visual Studio Online
AppVeyor Travis VSO

What are these tools?

NuGetMirror.exe is a command line tool to mirror nuget.org to disk, or any NuGet v3 feed. It supports filtering package ids and wildcards to narrow down the set of mirrored packages.

NuGet.CatalogReader is a library for reading package ids, versions, and the change history of a NuGet v3 feeds or nuget.org.

Getting NuGetMirror

Manually getting nugetmirror.exe (Windows and Mono)

  1. Download the latest nupkg from NuGet.org
  2. Extract tools/NuGetMirror.exe to a local folder and run it.

Install dotnet global tool

  1. dotnet tool install -g nugetmirror
  2. nugetmirror should now be on your PATH

Quick start

Using NuGetMirror.exe

Mirror all packages to a folder on disk.

NuGetMirror.exe nupkgs https://api.nuget.org/v3/index.json -o d:\tmp

NuGetMirror can be used to continually sync the latest packages. Runs store to the last commit time to disk, future runs will resume from this point and only get new or updated packages.

Using NuGet.CatalogReader

Discover all packages in a feed using GetFlattenedEntriesAsync. To see the complete history including edits use GetEntriesAsync.

var feed = new Uri("https://api.nuget.org/v3/index.json");

using (var catalog = new CatalogReader(feed))
{
    foreach (var entry in await catalog.GetFlattenedEntriesAsync())
    {
        Console.WriteLine($"[{entry.CommitTimeStamp}] {entry.Id} {entry.Version}");
        await entry.DownloadNupkgAsync(@"d:\output");
    }
}

NuGet v3 feeds that do not have a catalog can be read using FeedReader.

var feed = new Uri("https://api.nuget.org/v3/index.json");

using (var feedReader = new FeedReader(feed))
{
    foreach (var entry in await feedReader.GetPackagesById("NuGet.Versioning"))
    {
        Console.WriteLine($"{entry.Id} {entry.Version}");
        await entry.DownloadNupkgAsync(@"d:\output");
    }
}

CI builds

CI builds are located on the following NuGet feed:

https://nuget.blob.core.windows.net/packages/index.json

The list of packages on this feed is here.

License

MIT License

You can’t perform that action at this time.