📦 nue - the NuGet Package Extractor
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Nue refactor run settings Dec 14, 2018
packagedefs 📦 Adding ways to resolve alternate dependencies. Aug 31, 2017
.gitignore Initial commit Mar 10, 2017
LICENSE Initial commit Mar 10, 2017
README.md Update README Sep 28, 2018
nue.png 👏 Adding guide. Mar 10, 2017


📦 nue - the NuGet Package Extractor

Build status

nue is a tool developed to extract NuGet packages into a folder structure that is compatible with the docs.microsoft.com .NET API documentation infrastructure.

It accepts a *.csv file as a source, and then relies on nuget.exe to install individual packages and collect their dependencies.

Folder Breakdown

To run

The core executable is nue.exe. It accepts the following parameters:

  • -p or --packages - Path to package listing CSV file. See the structure for the file below.
  • -o or --output - Output path. It's acceptable if the folder does not yet exist, as nue will create one for you.
  • -f or --frameworks - Framework for which to extract the packages. Use the TFMs reference to target folders in the lib folder of the main package.
  • -n or --nugetpath - Path to nuget.exe when working in le (local extraction) mode. This can be downloaded on the official NuGet page.

Input CSV structure

When working with a list of packages, generally you need to follow the structure:


The moniker will be assembled by combining the {package_moniker_base} and {version}, in this form: {package_moniker}-{version}, where {version} is available. When the {version} value is not specified, the {package_moniker_base} will become the moniker.


  • When in the CSV, a version is specified after a package ID, that specific version will be installed and subsequently - processed.
  • If no version is specified after the package ID, the latest available version for the package will be installed (can be either stable or pre-release, depending on configuration).

Custom package configuration

In some cases, you might need to create custom package onboarding scenarios. To handle those, we are enabling custom parameters, that can be included before the package ID, in square brackets, as such:


The following custom parameters are supported:

Parameter Description
customSource URL to a custom feed for the package.
tfm Overrides the global TFM for the specific package.
altDep Alternative dependency TFM - helpful when you have a specific TFM for the core library, but a different TFM for dependency libraries.
isPrerelease Required to install a pre-release package.
customDependencyFolder A custom folder from which we need to pull dependencies. Relative to the package root.