.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?
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
Post a Comment