.NET
Overview
Your private NuGet packages and public dependencies from nuget.org, all managed through one registry.
Supported Clients
JFrog Fly supports .NET packages with:
dotnet CLI (
dotnet nuget push,dotnet restore) - The modern .NET command-line interfaceNuGet CLI (
nuget push,nuget restore) - The standalone NuGet command-line tool
Upload / Push Package
With Fly App
Activate .NET in your Fly App to configure .NET globally with Fly. The Fly App sets the Fly registry as the default push source, so you can push without specifying --source:
Using dotnet CLI:
dotnet nuget push <package>.nupkgUsing NuGet CLI:
nuget push <package>.nupkgManual Configuration
1. Generate an access token in Fly Token Management
2. Configure .NET:
Using dotnet CLI:
dotnet nuget add source https://<your-fly-subdomain>.jfrog.io/artifactory/api/nuget/nuget \
--name Fly \
--username <your-fly-username> \
--password <your-fly-token> \
--store-password-in-clear-textUsing NuGet CLI:
nuget sources add -Name Fly \
-Source https://<your-fly-subdomain>.jfrog.io/artifactory/api/nuget/nuget \
-Username <your-fly-username> \
-Password <your-fly-token>3. Push package:
Using dotnet CLI:
dotnet nuget push <package>.nupkg --source FlyUsing NuGet CLI:
nuget push <package>.nupkg -Source FlyDownload / Restore Package
With Fly App
Activate .NET in your Fly App to configure .NET globally with Fly, then restore as usual:
Using dotnet CLI:
dotnet restoreUsing NuGet CLI:
nuget restoreManual Configuration
1. Generate an access token in Fly Token Management
2. Configure .NET:
Using dotnet CLI:
dotnet nuget add source https://<your-fly-subdomain>.jfrog.io/artifactory/api/nuget/nuget \
--name Fly \
--username <your-fly-username> \
--password <your-fly-token> \
--store-password-in-clear-textUsing NuGet CLI:
nuget sources add -Name Fly \
-Source https://<your-fly-subdomain>.jfrog.io/artifactory/api/nuget/nuget \
-Username <your-fly-username> \
-Password <your-fly-token>3. Restore packages:
Using dotnet CLI:
dotnet restoreUsing NuGet CLI:
nuget restoreFrom Public Registry
When you restore a package that isn’t in your Fly Registry, JFrog Fly automatically fetches it from nuget.org and caches it for future use.
Using dotnet CLI:
dotnet restoreUsing NuGet CLI:
nuget restoreUpload/Download Packages with CI
To push and restore .NET packages with CI, update your GitHub Actions workflow to include the Fly action.
Simply ask your coding agent: “Configure my workflows with Fly” and Fly MCP will configure your GitHub Actions workflow yml file, as follows:
1. Add permissions (top level, after on:):
permissions:
contents: read
id-token: write2. Add Fly Action (after actions/setup-dotnet, before dotnet/nuget commands):
- uses: jfrog/fly-action@v1 # Setup Fly package managersGitHub Action Example
name: Build and Publish .NET Package
on:
push:
branches: [main]
permissions:
contents: read
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0'
- uses: jfrog/fly-action@v1 # Setup Fly package managers
- run: dotnet restore # Dependencies from Fly registry
- run: dotnet build --configuration Release
- run: dotnet pack --configuration Release
- run: dotnet nuget push ./bin/Release/*.nupkg
# Push to Fly registryBack to Package Managers →