emgarten / Sleet

A static nuget feed generator for Azure Storage, AWS S3, and more.
MIT License
362 stars 43 forks source link

legacy windows pdb hash, possible issue #147

Closed geoffroy-querol-cacib closed 10 months ago

geoffroy-querol-cacib commented 3 years ago

Hello, I encounter a failure from visual studio to fetch a pdb in the generated symbol layout. for an internal library. sleet generates: E29B7602B2E9478E90B0B183C9E31CAA21 while visual studio hits the entry: E29B7602B2E9478E90B0B183C9E31CAA15

from the code i see that GetWindowsPdbHash formats the age as decimal, while visual studio seems to expect hex for the age.

the test ressource SymbolsTestBdll and Legacy public pdb do seem to have the age metadata to 1 most of the time, which explains why this function works most of the time.

I unfortunately cannot share the binary i used, but if you have instruction on how to generate SymbolsTestBdll, i can submit a full reproduction Thank you very much

emgarten commented 3 years ago

Thanks for filing the issue and the example.

Sleet's symbol hash detection could be improved. My guess is that there is a newer library for getting the hashes since this was originally added to Sleet.

snupkg support is also needed and from what I understand the hash format there is different along with the protocol used.

If anyone has feedback on what they would like to see from Sleet here to help prioritize support for older style .pdbs vs snupkg support (if that can be done on a static feed even). Feel free to chime in.