NuGet
Repsy Open Source hosts private and public NuGet repositories. A NuGet repository is a repository of the type NuGet: it takes packages from dotnet nuget push and serves them to dotnet restore, dotnet add package and the other .NET tools. It speaks the NuGet V3 protocol, so any client that reads a V3 service index works with it.
The address of a repository is the repository address of your instance followed by the name of the repository and /v3/index.json, the service index: https://<your-repsy-host>/<repo-name>/v3/index.json. There is no username in the address. <your-repsy-host> stands for the host and port of your instance, see Ports and Repository URLs. On a local instance with the default settings, the address of the default nuget repository is http://localhost:9090/nuget/v3/index.json.
Getting Started
- Creating a Private NuGet Repository: find or create a repository and get your credentials.
- Publishing a NuGet Package: pack a first package and push it.
- Installing a NuGet Package: install it in a project.
Tutorials
- Publishing and Restoring NuGet Packages with the dotnet CLI: sources and credentials,
dotnet nuget push,dotnet restore,dotnet add package, HTTP and HTTPS, version rules, pushing a version again and the errors you may see. - Unlisting and Relisting NuGet Packages: hide a version from search and from
dotnet add packagewithout deleting it, and bring it back. - NuGet in CI: credentials from environment variables and secrets, pushing from a pipeline and restoring in one.
Good to Know
- Repsy Open Source does not proxy or mirror nuget.org. A project that has a Repsy repository as its only source can only restore what that repository holds. Keep nuget.org in your configuration for everything else, and use package source mapping to say which packages come from where, see Publishing and Restoring NuGet Packages with the dotnet CLI.
- A deploy token works as the API key of
dotnet nuget push. An account password does not: it only works as the password in yourNuGet.Config. See Creating a Deploy Token. - The service index is served without credentials, also for a private repository. Everything else needs a login, unless the repository is public and the request only reads. Pushing, unlisting and relisting always need credentials.
- Repsy stores package ids in lower case and versions in their normalized form. NuGet ids are case-insensitive, so clients are not affected.
- These pages were checked with the .NET SDK 10.0.401, and where noted with 8.0.425.