Как Visual Studio узнает, соответствует ли исходный файл оригинальной версии?

Я понял, как .dll сборки .NET файл отображается в .pdb с помощью GUID (блог). Когда я отлаживаю в сборке и запрашиваю исходный код, если я перехожу к файлу, он может сказать мне, что исходный код отличается от оригинала. Откуда он это знает? Я ожидал, что файл .pdb будет содержать контрольную сумму для каждого файла, но это не так. Лучший инструмент, который я нашел для выгрузки отладочной информации:dia2dump, Файлы C ++ .pdb содержали записи MD5, а файлы C # .pdb - нет.

Дамп C ++
dia2dump -f dia2dump.pdb>dia2dump.pdb.files.txt

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

Есть ли что-то, что я пропустил во "всей" свалке?

Это должно быть использование контрольной суммы. Если я изменю один символ в Module.cs, я получу:

Где я могу найти контрольную сумму для исходного файла, на который есть ссылка в .pdb?

Ответы на вопрос(1)

Ваш ответ на вопрос