Проблемы памяти, особенно в более старых системах. У нас есть некоторое 16-разрядное программное обеспечение C прежней версии, которое должно остаться 16-разрядным в настоящее время. 64K блоки памяти являются королевской болью для работы с, и мы постоянно добавляем помехи или кодируем логику, которая продвигает нас мимо 64K пределов группы.
Для усугубления положения ошибки памяти обычно не заставляют программу разрушать, но заставлять определенные функции эпизодически повреждаться (и не всегда те же функции). Отладка является неопцией - отладчик не имеет тех же ограничений памяти, таким образом, программы всегда хорошо работают в режиме отладки... плюс, мы не можем добавить встроенные printf операторы для тестирования, так как это ударяет использование памяти еще выше.
В результате мы можем иногда проводить ДНИ, пытаясь найти, что единственный блок кода переписывает, или часы, перемещая статические символы в файлы. К счастью система медленно перемещается офлайн.
Для доступа к текущей версии сборки требуются вызовы методов, поэтому вы не можете сделать это с привязкой WPF:
Version version = Assembly.GetExecutingAssembly().GetName().Version;
Либо используйте преобразователь (как вы предлагаете), либо создайте свойство в своем представлении модель (как предлагает Кент).
Нет, если вы используете MVVM. Просто откройте свойство Version из своей модели представления и выполните привязку к нему.