Skip to content

Migrate from NuGet.Server

NuGet.Server is a lightweight standalone NuGet server. It is strongly recommended that you upgrade to BaGet if you use NuGet.Server. Feel free to open a GitHub issue if you need help migrating.

Info

Please refer to the BaGet vs NuGet.Server page for reasons to upgrade to BaGet.

Steps

Make sure that you've installed nuget.exe. In PowerShell, run:

$source = "<NuGet.Server package source>"
$destination = "<BaGet package source>"

If you've configured BaGet to require an API Key, set it using the setapikey command:

& nuget.exe setapikey "NUGET-SERVER-API-KEY" -Source $destination

Now run the following PowerShell script:

if (!(Test-Path "Web.config")) {
  throw "Please run this script in the same directory as NuGet.Server's Web.config file"
}

(& nuget.exe list -AllVersions -Source $source).Split([Environment]::NewLine) | % {
  $id = $_.Split(" ")[0].Trim()
  $version = $_.Split(" ")[1].Trim()

  $path = [IO.Path]::Combine("Packages", $id, $version, "${id}.${version}.nupkg")

  Write-Host "nuget.exe push -Source $destination ""$path"""
  & nuget.exe push -Source $destination $path
}