Install
Package types

NuGet

Restore and push NuGet packages with dotnet and nuget.exe, over a V3 or V2 feed.

This command runs dotnet nuget add source, naming the source after the repository:

relic package setup nuget nuget --write

Restore packages:

dotnet restore

By hand, add the V3 feed to nuget.config:

<configuration>
  <packageSources><clear />
    <add key="relic" value="https://relic.example.com/nuget/nuget/index.json" protocolVersion="3" />
  </packageSources>
  <packageSourceCredentials><relic>
    <add key="Username" value="<you>" /><add key="ClearTextPassword" value="<token>" />
  </relic></packageSourceCredentials>
</configuration>

Push a package (--source relic with the nuget.config above):

dotnet nuget push <pkg> --source nuget --api-key <you>:<token>
  • A push to a virtual repository goes to its default deployment repository; dotnet nuget delete moves a version to the trash can.
  • Symbol packages (.snupkg, -p:SymbolPackageFormat=snupkg) are stored next to the package as <id>.<version>.snupkg; dotnet nuget push sends the one next to the .nupkg. Their portable PDBs are served to debuggers from the symbol server https://relic.example.com/nuget/nuget/symbols, through a virtual repository from its local members. A symbol package without a portable PDB is refused with 400.
  • Search (dotnet package search, the IDEs) lists packages stored in the repository's members, a remote's cached ones included, and what each remote's upstream search service finds. The upstream is asked only for the first results up to the requested page.
  • The V2 feed is https://relic.example.com/nuget/nuget (protocolVersion="2").