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.