Как 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)

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