Why can't VS get the published PDBs for my NuGet packages?

295 views Asked by At

I used the instructions at NuGet.org to create symbols packages for each of my open-source DLLs. For example, I used nuget pack -Version 2.4.3 -symbols Core\Loyc.Essentials.nuspec to create Loyc.Essentials.2.4.3.nupkg and Loyc.Essentials.2.4.3.symbols.nupkg.

Renaming the .nupkg to .zip, I verified that the .symbols.nupkg package contains the expected .dll, .pdb and .xml files in lib\net45 and elsewhere, along with complete source code in a src folder.

I used AppVeyor to build my packages with a similar nuget command, and to publish the symbol and non-symbol packages with these options:

deploy: - provider: NuGet server: api_key: secure: DHTp3wMjKqyca2PWftol2wq7DxE9KdL8AizHVIS14T4DSSMXgc0bIiCGvvA8SkTH skip_symbols: false # Whether to not publish symbol pkgs (src/pdb) artifact: /.*\.nupkg/ on: branch: master # Release from master branch only. appveyor_repo_tag: true # Deploy on tag push only.

It seemed to work:

Publishing Loyc.Essentials.24.3.0.nupkg to https://www.nuget.org/api/v2/package...OK
Publishing Loyc.Essentials.24.3.0.symbols.nupkg to https://nuget.smbsrc.net/api/v2/package...OK

I created a test project, added my packages via the VS NuGet GUI.

Finally, I followed the detailed instructions here about how to use a symbol server. As recommended at nuget.org, I also added https://nuget.smbsrc.net to the list of "Symbol file (.pdb) locations" in VS options for Debugging | Symbols.

It doesn't work. I notice that in the SymbolCache there is a FailedLoads folder which contains a text file for each of my DLLs (and NUnit). The text file contains simply "PDB Not Found". Why might the PDB not have been found?

0

There are 0 answers