Атрибуты [AssemblyVersion] и [AssemblyFileVersion] играют разные роли. [AssemblyVersion] видна только управляемому коду и важна для GAC. Всякий раз, когда в публичном интерфейсе сборки вносятся серьезные изменения, вам следует увеличить это число.
Компилятор внедряет неуправляемый ресурс в сборку с параметром командной строки / win32res. Сюда входит ресурс VERSIONINFO , доступный для чтения всем неуправляемым кодом, включая оболочку. Он определяет, что вы видите, когда вы щелкаете правой кнопкой мыши по сборке в Проводнике и просматриваете страницу свойств Details. Показанное здесь значение «Версия файла» задается атрибутом [AssemblyFileVersion]. Значение [AssemblyVersion] там не видно, Explorer (пока) не знает, как это прочитать.
Вам решать, как использовать этот атрибут. Авария указывает на то, что в коде развертывания выполняется некоторая минимальная проверка работоспособности, я никогда не пытался ошибиться, чтобы увидеть, что произойдет. Однако делать их одинаково имело бы большой смысл.
Microsoft использует [AssemblyFileVersion] по-другому, они автоматически увеличивают его для каждой сборки и прибавляют [AssemblyVersion] вниз. Это хорошая идея и стратегия, которую я использую. Однако довольно иронично то, что функция автоматического увеличения версии работает точно в обратном направлении, она может выполнять только автоматическое увеличение [AssemblyVersion]. Вздох.