Documentation
Use nuvyntralabs GitHub Packages from a C# project
Plugin.Maui.* is published on the nuvyntralabs GitHub Packages feed. nuget.org stays the source for Microsoft.*, MAUI, and other public packages.
A project needs two feeds. Plugin.Maui.* comes from GitHub Packages. Everything else (Microsoft.*, MAUI, and other public packages) comes from nuget.org. GitHub Packages requires a token even when the packages are public.
1. Create a classic PAT
Create a classic personal access token with read:packages only. Do not grant write or delete scopes for restore.
2. Add nuget.config next to the .sln or .csproj
Do not put the PAT in this file. Commit the config so every clone uses the same mapping.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="github" value="https://nuget.pkg.github.com/nuvyntralabs/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
<packageSource key="github">
<package pattern="Plugin.Maui.*" />
</packageSource>
</packageSourceMapping>
</configuration>NuGet uses the most specific mapping:
| Package ID | Source |
|---|---|
Plugin.Maui.* | GitHub Packages only |
| everything else | nuget.org only |
There is no nuget.org fallback for Plugin.Maui.*. If that version is not on the org feed, restore fails.
3. Store the token on the machine
Add the source in the user-level NuGet config, not the repo:
dotnet nuget add source https://nuget.pkg.github.com/nuvyntralabs/index.json \
--name github \
--username YOUR_GITHUB_USERNAME \
--password YOUR_GITHUB_PAT \
--store-password-in-clear-textFeed URL: https://nuget.pkg.github.com/nuvyntralabs/index.json
4. Reference a package and restore
<PackageReference Include="Plugin.Maui.GeoLocator" Version="1.0.8" />
dotnet restoreCI: use GITHUB_TOKEN as the password when that workflow can read the package.
Org feed: https://nuget.pkg.github.com/nuvyntralabs/index.json. Browse a package page from the catalog or return to getting started.
Next step
Build with Nuvyntra Labs
Browse production NuGet packages, or reach the lab if you want to evaluate research or compose a plugin set.