Why Artifactory is working with Nuget V2 protocol and not Nuget V3 while the client is sending API V3 requests?

Shai Ben-Zvi
2018-06-11 09:25

In order to work with Nuget V3 API you will have to make sure that the following requirements are met:
  • Artifactory version is at least 6.0.
  • We recommend to use Nuget client versions 4.3.x and above for full semver2 support.
 To work with Nuget V3, you will have to to make sure that the following are added:
NuGet CLI:
  1. Make sure that the NuGet.Config file contains protocolVersion=”3” to the relevant sources.
    The default location of this file can be found in %appdata%NuGetNuGet.Config on Windows OS, and in ~/.config/NuGet/NuGet.Config on Mac.
    For example, here is a configuration that work against virtual nuget repository named ‘nuget’:
    <add key=”ArtifactortyV3” value=”http://localhost:8081/artifactory/api/nuget/v3/nuget” protocolVersion=”3” />


  2. Same goes for local, remote and virtual repositories – Those changes will point the nuget client to the v3 feed of the repository and you can test it in your browser:

Visual Studio:
Same as the Nuget CLI, make sure that protocolVersion=”3” is added to the NuGet.Config file.
Not all Visual Studios have the option to add credentials to the source with the UI, sometimes you will have to make sure that you have the next element inside the config file.
In case you are working against Nuget gallery, the url to the remote repository will be added automatically, in all other cases, this field will be empty, and you will have to fill it manually.
For example: