.net - SymbolSource Server Issue -


we setting local symbolsource server our development team. followed a nice article written on symbolsource server. use teamcity building. each build .symbols.nupkg pushed local symbolsource using nuget push command , nuget package pushed local nuget server.

problems experiencing:

for nuget package mypackage.1.1.0 if push same symbol server creates hash , that's how associates each version folder load .pdb files , .cs files. (that's understanding. please correct me if wrong).

after setting symbol server configuration in visual studio try debug project. experiencing hash generated visual studio load symbols different hash generated while registering using nuget push on symbol server ends in 404. (please see attached file fiddler status code.) if create folder manually same hash on symbol server desired outcome i.e. step code.

why there 2 different hash same version of dll/nuget file?

two different guid's generated fiddler output

the values getting not hashes (as in not file content hashes), guids. each dll - pdb pair assigned guid when build. each build of dll has different guid, if build same source code! means way pdb's symbol server if use same dll. fact getting different guid indicates me aren't using same dll. scenario's can come in case are:

  • your symbol nuget package has different dll normal nuget package. seems unlikely if generate both @ same time, if build package , binaries more once, possible.
  • you not using dlls nuget package has had symbol package registered symbol server
  • you not using dll nuget package @ all

the reason 'fix' works because visual studio apparently uses guid create symbol search path doesn't check pdb guid when loads it. in other words, assumes (fairly) symbol server puts symbols in correct location.

the best way fix problem find out getting different dlls from. can use dumpbin utility find out pdb linked dll using

dumpbin.exe /headers mypackage.dll 

that should produce output contains somewhere path of pdb file and(!) guid links dll , pdb. if compare guids , timestamps of dll on computer ones in dll / pdb on symbol server should able figure out things went wrong.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -