Problem navigation to sources (external pdb files from myget)
Answered
Hi!
When I try to navigate to sources (which are fetched from myget) I get the following error:
PdbNavigator: Downloader: https://www.myget.org/F/mythology/auth/removedauthcode/symbols/Findwise.Charon.Data.Sql.pdb/538FF05B5BB44F83B8473BA2AFE9299D1/Findwise.Charon.Data.Sql.pd_ -> ok, 79,5 KB
PdbNavigator: Can't extract C:\Users\JENS~1.BEN\AppData\Local\Temp\SymbolCache\Findwise.Charon.Data.Sql.pdb\538FF05B5BB44F83B8473BA2AFE9299D1\Findwise.Charon.Data.Sql.pd_: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Microsoft.Deployment.Compression.Cab.Errors.resources" was correctly embedded or linked into assembly "Microsoft.Deployment.Compression.Cab" at compile time, or that all the satellite assemblies required are loadable and fully signed.
PdbNavigator: No debugging information found on symbol servers for Findwise.Charon.Data.Sql, Version=1.0.179.0, Culture=neutral, PublicKeyToken=null
I can't figure out what the problem is, any help would be appreciated.
Please sign in to leave a comment.
Hello Jens,
Are you able to send me this "Findwise.Charon.Data.Sql.pd_" file?
Thanks!
Sure, you can grab it from here:
https://www.sugarsync.com/pf/D6423127_07595973_884898
Jens, thanks for the file.
Looks like we found the root of the issue. www.myget.org returns "pd_" file, which should be a compressed "pdb" file, but this file is not compressed one, it is a simple pdb but with changed extension, so when ReSharper runs "Microsoft.Deployment.Compression.Cab" to decompress the file - the exception happens. We are going to add some logic to check this case and not to fail when "pd_" file is not compressed one.
My apologies for the inconvenience.
Thanks!
FYI MyGet will also deploy a fix early next week.
Thanks for answering and for trying to provide a solution in a future update! Seems like it's not really your fault either. :)
I submitted a ticket to myget with the issue as well.
Ah, I e-mailed myget and replied before reading your reply!
Got the same issue now, will wait for the MyGet fix...
MyGet now has the fix live
Now it downloads the PDB file but I still end up with decompiled source
But there are source uploaded:
Would love to get some insight into why this isn't working.
Hello Jens,
Please share this pdb file with us.
Thanks!
https://www.sugarsync.com/pf/D6423127_07595973_801775
Jens,
Thanks for pdb file, we downloaded it, so you may remove it from https://www.sugarsync.com site.
Thanks!
Seems like it has been fixed in R# 2016.3 EAP builds.
We have the same issue. Also, I have an exception in RabbitMq.Client and using Historic debugging I can see the source code (coming from some pdb file) but F12 never works, R# always uses dotPeek and cannot use any external sources at all. Using 2016.2.2
I can confirm that 2016.3 RC has the MyGet pdb issue resolved.
I'm having this issue again:
Looks like a netstandard2.0 assembly - the PDB may indeed not contain any sources. If it's a Portable PDB (https://github.com/dotnet/core/blob/master/Documentation/diagnostics/portable_pdb.md), it may not contain a link to the relevant source files.
You could use SourceLink to add sources to the PDB. Other option is to build Windows PDB's by setting these two properties in your project file?
So the fact that the code is browsable on myget doens't mean it contains debuggable source?
Correct, although it depends on the PDB. Feel free to send it over to MyGet support and we will have a look at it.
Here's a link
https://findwise-my.sharepoint.com/:u:/p/jens_bengtsson/EXt_fP9ez_NCrMjOI1ntZBMB8EF504utzswcWrdZgancOg?e=M7lY7j
That's indeed a Portable PDB. You can compile with Windows PDB using the above info, or checkout SourceLink and use that to provide the "missing link".
Thank you for your help.
Do I understand SourceLink correclty that you either have the code available in an open git repository (e.g. github) or you embed the debuginfo with the DLL?
That is correct, right now. I believe NuGet is working with the .NET Core folks on making that a bit better (e.g. other servers). Feel free to chime in here (https://github.com/NuGet/Home/issues/6104) and tell them how you would like to see this!