NuGet

Feedz supports NuGet v2 and v3 protocols. Use it with Visual Studio, Rider, the dotnet CLI, nuget.exe, or any other NuGet-compatible tool.

Repository URL

Your NuGet repository URL is shown in the repository settings page in the Feedz portal. It follows this format:

https://f.feedz.io/{organisation}/{repository}/nuget/index.json

Use this URL when configuring clients, pushing packages, or restoring dependencies.

Configuring clients

dotnet nuget add source https://f.feedz.io/my-org/my-repo/nuget/index.json \
  --name feedz \
  --username feedz \
  --password <your-token> \
  --store-password-in-clear-text
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="feedz" value="https://f.feedz.io/my-org/my-repo/nuget/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <feedz>
      <add key="Username" value="feedz" />
      <add key="ClearTextPassword" value="%FEEDZ_TOKEN%" />
    </feedz>
  </packageSourceCredentials>
</configuration>
Tools → NuGet Package Manager → Package Manager Settings → Package Sources

Add a new source with the repository URL.
Visual Studio will prompt for credentials the first time you access the feed.
Settings → NuGet → Sources

Add the repository URL and enter your access token as the password.
The username value is ignored by Feedz - any non-empty string works. Use the access token as the password.

For the NuGet.config approach, use environment variable substitution rather than committing tokens directly.

Publishing packages

dotnet nuget push MyPackage.1.0.0.nupkg \
  --source https://f.feedz.io/my-org/my-repo/nuget/index.json \
  --api-key <your-token>
nuget push MyPackage.1.0.0.nupkg \
  -Source https://f.feedz.io/my-org/my-repo/nuget/index.json \
  -ApiKey <your-token>
If you have a NuGet.config with credentials for this source, nuget.exe will upload the package twice - once using the -ApiKey and once using the stored credentials. Use the -ApiKey flag without stored credentials, or use dotnet nuget push instead.

Restoring and installing packages

Once the source is configured, package restore works as normal:

dotnet restore
nuget restore MyProject.sln

For public repositories no authentication is required. For private repositories, ensure credentials are configured as described above.

Package naming and versions

When a package is uploaded, Feedz uses the package ID and version from the .nuspec file - the original file name is ignored.

Package versions must conform to the NuGet versioning rules. Semantic Versioning 2.0.0 is supported. Versions that differ only in build metadata are treated as distinct versions.

Automatic repackaging

When automatic repackaging is enabled on a repository, zip and tar archives uploaded to the generic feed also appear in the NuGet feed as .nupkg files. The conversion happens on demand when a NuGet client requests the package. This is useful for deployment pipelines that expect NuGet packages but produce standard archives as build output.

Client cache

Most NuGet clients maintain a 30-minute cache of feed results. A recently pushed package may not appear until this cache expires.

To clear the cache immediately:

dotnet nuget locals all --clear

Or manually delete the cache folder:

%LocalAppData%\NuGet\v3-cache
# typically: C:\Users\<username>\AppData\Local\NuGet\v3-cache

Alternatively, specify the exact version with the -Version parameter when installing to bypass the cache entirely.