Обновление большого приложения VB6 до .NET. Отзывы о VB Migration Partner - PullRequest
3 голосов
/ 05 ноября 2008

У меня действительно большая база кода VB6 с кучей сторонних элементов управления. Хотите переместить его в .NET. Переписать его не подлежит сомнению - клиент не видит смысла тратить деньги на то же самое Переход на .NET с помощью встроенного мастера обновления, по сути, не является началом.

Кто-нибудь пробовал VB Migration Partner с http://www.vbmigration.com/ Если да, то каков был опыт?

Ответы [ 3 ]

5 голосов
/ 05 ноября 2008

Я являюсь ведущим автором инструмента VB Migration Partner (размещен на сайте www.vbmigration.com). В целом мы очень быстро отвечаем на все запросы, поступающие от существующих или потенциальных клиентов. Прошу прощения, если было трудно связаться с нами. Пожалуйста, попробуйте еще раз на http://www.vbmigration.com/contactus.aspx

Мы верим, что наш инструмент способен работать с очень большими приложениями VB6. На самом деле, большинство наших клиентов используют его для переноса приложений в диапазоне от 200 до 500 тыс. Строк кода. В настоящее время мы работаем над «приложением-монстром» из более чем 13 миллионов LOC, разделенных на 1200+ проектов.

Как рекомендует RSConley, любой инструмент преобразования работает лучше, если ваше приложение можно перенести и протестировать по частям. Мы поддерживаем группы проектов VB6 (которые преобразуются в одну операцию), пакетные преобразования и поддерживаем интеграцию с инструментами контроля исходного кода. (Например, мы сохраняем руководства по решениям / проектам предыдущего поколения, чтобы ваш инструмент SC знал, как обрабатывать вновь сгенерированный код.)

Наконец, мы собираемся выпустить версию 1.11, которая может генерировать библиотеки DLL .NET, которые двоично совместимы с исходными библиотеками COM, так что вы можете мигрировать один компонент за раз, начиная с самых основных, которые используются всеми другие части вашего приложения, без необходимости их повторной компиляции. (Насколько нам известно, VB Migration Partner - единственный инструмент с этой функцией.)

Франческо Балена - команда партнеров по миграции VB

4 голосов
/ 05 ноября 2008

Короткий ответ: VB6 и VB.NET (и, следовательно, C #) - это отдельные, но родственные языки. Между этими двумя платформами есть много тонких (Integer, являющихся Int32 вместо Int16) и грубых различий (графика, форма и механизмы печати). Вы должны относиться к этому, как будто вы переходите на совершенно другую платформу.

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

Что касается стоимости миграции. Только вы и ваша компания могут принимать такие решения. Поддерживайте приложение достаточно долго на ПК, в конце концов, вы должны серьезно рассмотреть его. Главным образом, чтобы воспользоваться преимуществами совершенно новой технологии (например, перейти с DOS на Windows). Мои приложения были запущены в 1985 году, и за их 20-летнюю историю произошло три основных преобразования (рабочая станция в DOS, DOS в Windows 3.X, Windows 3.X в 32-битную Windows и объектно-ориентированная среда).

И мы рассматриваем .NET по нескольким причинам. VB.NET - родственный язык, Generics и Inheritance позволяют сжать большую часть нашего стандартного кода в несколько строк. Более богатый графический API и так далее. Конечно, есть общая головная боль преобразования, взвешивающего все. Однако когда мы переключились на объектно-ориентированную среду, наше приложение превратилось в небольшой EXE-файл, связанный через COM с несколькими DLL. Мы можем позволить себе роскошь конвертировать и тестировать по частям из-за структуры нашего приложения.

Я настоятельно рекомендую, если вы намереваетесь преобразовать свое приложение в VB6 в структуру, которую можно преобразовать и протестировать по частям. Вы сможете использовать Active DLL для этого. Если вы попытаетесь сделать это за один раз, то вы обнаружите, что 80% проекта будет выполнено быстро, а последние 20% будут просто адом. Преобразовав поштучно, вы останетесь с рабочим программным обеспечением на каждом шагу.

Проблемы более подробно рассматриваются здесь

Как переключить большое приложение с VB6 на VB.NET

4 голосов
/ 05 ноября 2008

Я никогда раньше не работал с ребятами из VB-миграции, однако я бы настоятельно рекомендовал не переносить кодовую базу в .NET. Это действительно не добавляет ценности.

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

... мои 2 цента

...