В .NET для подписанной (.snk) сборки самой первой причиной, по которой вы не изменили бы номер версии сборки, является обеспечение того, что строгое имя сборки останется прежним. Таким образом, не связываясь с файлами .config или пользовательскими политиками, любой клиент, созданный со ссылкой на вашу сборку, все равно сможет загружаться без жалоб.
По умолчанию (без определения перенаправлений сборок ), если вы измените версию, будет изменено и строгое имя вашей сборки, и все существующие сборки, собранные на основе предыдущей версии, не будут работать.
Если вы никогда не меняете версию, конечно, вам нужно убедиться, что вы не разбиваете тот же клиент разными сигнатурами классов или методов.
Именно по этой причине разработчики в большинстве случаев предпочитают сохранять одну и ту же версию ... всегда, когда это возможно, и это верно как для CoreCLR (CLR Silverlight), так и для. NET CLR.
Однако в случае .NET CLR тот факт, что они изменили версию, на самом деле создает некоторые проблемы для существующих приложений .NET. Иногда существующие приложения .NET 2 необходимо добавить это в файл .config в контексте .NET 4:
<configuration>
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
</configuration>
Вы можете взглянуть на эту статью, в которой объясняется, насколько сложным может быть все это за кадром: Совместимость версий в .NET Framework