Skip to content

Add setting to enable/disable NuGet symbol server

Context

In Endpoint for symbol file download (!134564 - merged), we added a new endpoint to download the NuGet portable symbol PDB files. However, there's no way to authenticate this endpoint as we do with other NuGet Repository private endpoints. The reason is that the debuggers (such as Visual Studio) don't support sending authentication credentials (PAT or deploy tokens). This thread has more details on the authentication challenge.

Although the endpoint isn't authenticated the same way we follow in the NuGet Repository, the PDB files aren't simply public. To download a file, the debugger needs to send the file signature and SHA256 checksum. This information cannot be obtained unless you have the executable .dll file from the .nupkg file of the package.

To make sure the users of the NuGet Repository are aware of such authentication limitation, we decided to add a namespace setting to let users decide if they want to enable/disable the NuGet symbol server. The setting is disabled by default; meaning that the PDB consumption endpoint isn't available unless a user explicitly enables the the NuGet symbol server setting for their namespace.

Edited by Moaz Khalifa