W jaki sposób Visual Studio wie, czy plik źródłowy pasuje do oryginalnej wersji?

Zorientowałem się, w jaki sposób plik .dll zespołu .NET jest mapowany do pliku .dbdb przy użyciu identyfikatora GUID (blog). Kiedy debuguję w zespole i prosi o kod źródłowy, jeśli przejdę do pliku, może mi powiedzieć, że kod źródłowy jest inny niż oryginał. Skąd to wie? Spodziewałem się, że plik .pdb będzie zawierał sumę kontrolną dla każdego pliku, ale nie wygląda tak. Najlepsze narzędzie, które znalazłem, aby zrzucić informacje o debugowaniu todia2dump. Pliki pdb w C ++ miały wpisy MD5, ale pliki C # .pdb nie.

Zrzut C ++
dia2dump -f dia2dump.pdb>dia2dump.pdb.files.txt

Zrzut C #
dia2dump -f Autofac.pdb>Autofac.pdb.files.txt
dia2dump -all Autofac.pdb>Autofac.pdb.all.txt

Czy jest coś, czego brakowało mi na wysypisku „wszyscy”?

Musi używać sumy kontrolnej. Jeśli zmienię pojedynczą postać w Module.cs, otrzymam:

Gdzie znajdę sumę kontrolną dla pliku źródłowego, do którego odwołuje się plik .pdb?

questionAnswers(1)

yourAnswerToTheQuestion