NDepend выдает «файлы PDB и источник не синхронизирован» просто, когда обнаруживает, что исходный файл, на который ссылается файл PDB , имеет более поздний LastWriteTime, чем файл PDB. Поэтому, если ваш процесс сборки каким-либо образом обновляет LastWriteTime вашего исходного файла после компиляции и перед анализом NDepend, это может быть ложной тревогой, хотя изменение LastWriteTime вашего исходного файла после компиляции звучит неловко.
Лучшей эвристикой может быть использование контрольных сумм исходных файлов, содержащихся в файле PDB. Используя эту контрольную сумму, NDepend мог видеть, было ли изменено содержимое исходного файла. Так работает VS между прочим во время отладки. Мы (команда NDepend) не реализовали эту эвристику, потому что она может быть дорогостоящей, и простой эвристики, основанной на LastWriteTime, достаточно для большинства реальных случаев.
Патрик - NDepend Team