Какой самый быстрый способ преобразовать существующее приложение на основе win Vb6.0 в ac # win? - PullRequest
6 голосов
/ 03 февраля 2010

Какой самый быстрый способ преобразовать существующее приложение на основе win Vb6.0 в c # win-based?

Ответы [ 6 ]

9 голосов
/ 03 февраля 2010

Базовый язык настолько отличается, что я должен сказать, что начинать с нуля и копировать только сложные биты кода. Если вы начинаете с нуля, вам не придется сталкиваться со всеми проблемами VB6, используя при этом всю мощь C #.

VB6 не имеет реальных классов или ООП, что сильно отличается от C #. Кроме того, очень мало контроля над менеджером событий ( SubClassing ).

Итак, начните с нуля, скопируйте макет пользовательского интерфейса и подумайте , как бы я реализовал это в C #, во-первых , это облегчит вашу жизнь.

8 голосов
/ 03 февраля 2010

Я думаю, что быстрее всего будет конвертировать его в VB.net. Проверьте следующий вопрос для этого ответа

Преобразование VB6 в VB.net

и затем преобразуем его в c #. Но я думаю, что преобразование вручную будет лучшим вариантом, так как вы можете перестроить приложение и, возможно, сделать его проще.

4 голосов
/ 04 февраля 2010

Преобразование кода из Visual Basic 6 в C # лучше всего выполнять с помощью инструмента автоматической миграции, например ArtinSoft * Visual Basic Upgrade Companion , который поддерживает миграцию на C #.Есть несколько причин для этого предложения, кроме моего опыта работы с инструментом.

Во-первых, даже если вы переходите с VB6 на VB.NET, в VB.NET есть несколько специфичных для языка функций, которые не будут напрямую переводиться в C #.Таким образом, даже если вы используете конвертер VB.NET в C #, вам придется работать с этими особыми случаями (или найти инструмент, который их обрабатывает для вас).Они могут включать в себя необязательные параметры, функции AddressOf, вспомогательные операции компилятора Visual Basic, такие как Information.Err (), и обработку неструктурированных ошибок для структурированной обработки ошибок с использованием операторов Try / Catch.Еще одна вещь, которую следует учитывать, это то, что компилятор VB.NET ограничен отображением только 100 ошибок компиляции, и ошибки компиляции могут быть довольно распространенными при миграции.При переходе на C # компилятор и другие инструменты анализа кода, такие как ReSharper, могут дать вам более полное представление о предстоящей задаче и помочь вам обнаружить распространенные шаблоны ошибок компиляции.

Во-вторых, переходя непосредственно на целевой язык, вы можетесосредоточиться на использовании функций, доступных для этого языка с самого начала, без промежуточных шагов.В противном случае вы в конечном итоге будете выполнять две миграции, если сосредоточитесь только на одной.

В-третьих, как сказал Реник, даже если инструменты миграции могут создавать сотни или тысячи проблем, большинство из них имеют относительно простые решения.,Некоторые из них можно исправить с помощью функции поиска и замены.Коммерческие решения имеют дополнительное преимущество, заключающееся в том, что они поддерживают миграцию сторонних элементов управления пользовательским интерфейсом в эквиваленты .NET.

Также миграция может быть намного быстрее, чем перезапись, вам все равно придется писать код, но только для областейгде есть проблемы.

Конечно, есть приложения, для которых миграция не является опцией, но для тех, которые соответствуют сценарию использования для миграции, это очень эффективный способ переключения платформ.Вы не должны сбрасывать со счетов опцию сразу.

1 голос
/ 03 февраля 2010

Если вам это нужно быстро;тогда не шевелитесь руками - вы пропустите вещи и вырвете свои волосы!

Я исследовал этот продукт пару лет назад, и я чувствовал, что этот продукт был лучшим,он конвертируется из VB6 в C #.У них есть бесплатная пробная версия тоже.

1 голос
/ 03 февраля 2010

Всего переписать.MS имеет некоторую помощь в миграции, но я верю, что это только VB.Net.Но зачем смотреть на портирование, вам наверняка будет лучше переписать приложение, и просто взаимодействовать, если у вас есть какие-то устаревшие компоненты, которые вам нужно сохранить.И перенести только лучшие биты.Используйте это как шанс действительно улучшить приложение.

0 голосов
/ 17 мая 2010

Попробуйте ArtInSoft. Эта компания перенесет ваш код VB 6 непосредственно на C #.

...