Я недавно закончил работу над проектом, в котором мы конвертировали множество унаследованных приложений VB6 в C #, используя Vins Upgrade Companion от Artinsoft .
Трудно решить, какой подходлучшее.Во многих случаях преобразование кода может оказаться очень болезненным, особенно если существует много логики, основанной на функциях, которые существенно различаются между двумя платформами (например, одноиндексные массивы или обработка ошибок с помощью Information.Errобъект вместо сквозных исключений).
С другой стороны, если вы попытаетесь написать его с нуля, есть большая вероятность, что вы случайно измените какое-то тонкое поведение, которое не сразу становится очевидным при просмотреоригинальный код VB5.Подобные вещи могут быть трудно отследить.
Хороший компромисс - использовать конвертер для переноса кода, а затем использовать его как руководство для написания вещей с нуля, так как, надеюсь, будут места, где выможет просто поднять преобразованный код прямо в новую базу кода.В то же время вы получаете преимущество от написания более удобного для сопровождения кода везде.
С учетом всего сказанного, если исходный VB5 хорошо написан и (относительно) хорошо спроектирован, то я бы рекомендовал против любого родаобновления.Вы потратите гораздо больше времени, пытаясь соответствовать существующему поведению старого приложения, чем просто работаете над старым кодом.
Удачи вам во всем, что вы решите делать - вам это понадобится :)