Поскольку библиотеки DLL производят разные хэши, ясно, что что-то меняется в каждой компиляции. Возможно, что-то внутреннее является меткой времени или рандомизировано.
Теоретически, возможно, возможно использовать рефлексию или ildasm и некоторое умное сравнение результатов, но это будет намного сложнее, чем пересмотр вашего процесса для использования приращения строк версий.
Я предлагаю вам автоматизировать процесс сборки и автоматически увеличивать строку версии в файле Assemblyinfo.cs для каждой сборки. Если вы используете управление исходным кодом, ваш скрипт сборки может проверить его, увеличить его и вернуть обратно.
Надеюсь, это поможет.