Сравнение инструментов преобразования для Visual Basic 6.0

Кто-нибудь здесь использовал один из следующих (или любой другой инструмент) для преобразования вашего кода vb6 в язык .net?

Помощник по обновлению Artinsoft (конвертируется в C # и vb.net)

партнер по vbmigration (преобразуется в vb.net)

Насколько они были эффективны и проект какого размера вы преобразовали?

Сколько работы осталось сделать потом? Насколько вы довольны результатом проекта .net? На что была похожа поддержка? Есть ли где-нибудь форум поддержки для пользователей подобных инструментов, ни один из поставщиков, похоже, не предлагает его.

Сколько они взимали, их цены не публикуются, и я слышал о сильно различающихся ценах из разных источников для обоих приведенных выше примеров.


person kjack    schedule 05.04.2009    source источник


Ответы (6)


Думаю, вы уже видели вопрос об инструментах для перенос VB6 на VB.NET.

Оба опубликовали специальные предложения для рынка Великобритании на свои базовые продукты в Microsoft UK страница. Конечно, вам нужно знать ограничения основных продуктов и цены для вашего рынка, чтобы сделать реалистичное суждение, поэтому вам, вероятно, нужно с ними связаться :(

  • Artinsoft Upgrade Companion Developer Edition 199 фунтов стерлингов за до 50 000 строк кода. ИЗМЕНИТЬ. Теперь предлагается бесплатная версия, которая может содержать до 10 000 строк кода.
  • Профессиональная версия Visual Basic Migration Partner Professional от Code Architects 399 фунтов стерлингов. Они сказали мне, что это также касается до 50 000 строк кода.

Встроенный мастер обновления Microsoft жалок - по словам автора - Конечно, он из Artinsoft, поэтому хочет продать вам что-нибудь получше. Microsoft UK также говорит, что инструменты Artinsoft и Code Architects лучше, чем встроенное обновление волшебник.

РЕДАКТИРОВАТЬ: я связался с Code Architects за цитатой, они ответили очень быстро. В отличие от этого вопроса от Angry Hacker, у которого был худший опыт. Но затем Франческо Балена появился на Stack Overflow, чтобы ответить на его вопрос в течение 12 часов, что более обнадеживает.

person MarkJ    schedule 05.04.2009
comment
Эти цены намного ниже, чем я слышал ранее. Я слышал, что цена для профессионального партнера по миграции vb составляет более 2000 долларов, а для корпоративной версии намного выше. - person kjack; 06.04.2009
comment
Кажется, они применимы только к Великобритании, хотя - person kjack; 06.04.2009
comment
Да, как я уже сказал, для рынка Великобритании. Я дал ссылку на страницы, где указаны цены. У меня было расценки на корпоративную версию партнера по миграции, которая была значительно больше, чем профессиональная версия. Я не думаю, что должен называть точную цифру, поскольку это была цитата только для меня. - person MarkJ; 06.04.2009
comment
Должен сказать, что когда я тогда связался, мне тоже очень быстро ответили. Однако все их ответы продолжали попадать в папку «Нежелательная почта». Одно из немногих ложных срабатываний, которые я когда-либо видел в Gmail. - person AngryHacker; 12.09.2009
comment
На greatmigrations.com есть отличный инструмент, который на 100% настраивается. Ваш код достигает 100% на основе правил, и ничего не нужно кодировать вручную, как Artinsoft или партнеры по миграции vb. Попробуйте сами. Я очень рекомендую это. - person Jimmie Clark; 01.04.2013

Я Эухенио Ла Меса, генеральный директор Code Architects. Я прочитал несколько комментариев к нашему партнеру по миграции VB и инструментам преобразования в целом и подумал, что могу добавить несколько, надеюсь, полезных советов.

Во-первых, наше программное обеспечение для преобразования поддерживает все графические свойства и методы VB6, за исключением DrawMode и ClipControls. Мы даже поддерживаем свойство AutoRedraw и определяемые пользователем координаты ScaleMode, поэтому миграция CAD-подобной программы на VB.NET вполне доступна для нашего программного обеспечения. Раздел «Образцы кода» на сайте www.vbmigration.com содержит множество примеров приложений VB6 с интенсивным использованием графики, которые были преобразованы в .NET с минимальными усилиями.

Во-вторых, позвольте мне прояснить нашу структуру цен. Мы продаем две разные версии VB Migration Partner: Professional Edition может конвертировать приложения VB6 с макс. 50000 строк кода, тогда как Enterprise Edition не имеет ограничений по размеру и поддерживает несколько дополнительных расширенных функций, таких как интеграция с программным обеспечением для управления исходным кодом и создание компонентов .NET, двоично-совместимых с исходной VB6 DLL, что позволяет вам: реализовать поэтапную миграцию N-уровневых приложений на базе COM.

Цена Professional Edition за 399 фунтов стерлингов является специальной акцией до 30 июня 2009 года во время маркетинговой кампании Microsoft в Великобритании, только для Великобритании и для приложений, содержащих до 50 000 строк кода (LOC). Цена Enterprise Edition может варьироваться, поскольку она зависит от нескольких факторов, включая количество лицензий и количество переносимых LOC. Это объясняет, почему вы можете увидеть разные котировки цен. Кроме того, недавно мы немного снизили прейскурантную цену в качестве ответа на экономическую ситуацию. Мы также планируем убрать некоторые функции из основного продукта и предложить их отдельно, что приведет к более гибкой структуре цен.

Честно говоря, для приложений с 25-50K LOC мы обычно рекомендуем перезапись вручную. Фактически, мы сосредоточены на сегменте корпоративного рынка, где вы часто найдете приложения VB6 с несколькими сотнями тысяч, если не миллионами, LOC. В таких случаях ручная перезапись редко является жизнеспособным вариантом: для этого требуется слишком много опытных разработчиков VB6 / .NET, это занимает слишком много времени или просто слишком дорого. Недавно мы опубликовали тематическое исследование, связанное с приложением с 650 000 LOC; один из наших клиентов в настоящее время переносит приложение-монстр с примерно 15 миллионами LOC!

person Community    schedule 19.05.2009
comment
Привет, Эухенио. Сколько стоит профессиональное издание для людей за пределами Великобритании? Спасибо - person kjack; 21.05.2009
comment
Сегодня цена Professional составляет 1500 долларов США, но она может измениться в следующие месяцы, когда мы выпустим новый основной выпуск с новыми функциями. - person ; 26.05.2009
comment
Спасибо за информацию, Эухенио. Цена определенно не очень высокая, но, к сожалению, достаточно дорогая, чтобы заставить многих людей вроде меня бороться с vb6, пока MS будет поддерживать наши приложения. - person kjack; 27.05.2009

"обновление" VB6 до .NET - неправильное название. Все, что вы получаете, - это код VB6 в .NET; как правило, вы можете получить гораздо лучшие результаты с помощью рефакторинга / перестройки - например, используя другую модель классов. Например, проектирование с возможностью модульного тестирования. Или с помощью IoC.

Если вы просто хотите, чтобы код работал (и вы уверены, что сможете его протестировать), тогда все в порядке.

Лично я бы серьезно подумал о более ручном порте. И у меня есть много устаревшего кода VB6, поэтому я знаю, что это за боль.

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

На самом деле - я рекомендую Разработка приложений Brownfield (укомплектование персоналом) - это может дать ценную информацию о том, что нужно иметь на месте перед тем, как начать.

Brownfield

person Marc Gravell    schedule 05.04.2009
comment
на самом деле я просто хочу, чтобы эта вещь работала в .net. Переписывание заняло бы слишком много времени. - person kjack; 05.04.2009
comment
Насколько велики были проекты, которые вы переписывали? - person kjack; 05.04.2009
comment
Ну, исходная кодовая база - это сотни DLL-библиотек COM + в VB6, но с разумной степенью изоляции компонентов - мы перенесли функциональность только по мере необходимости: у нас все еще есть удручающее количество DLL-библиотек VB6, но они работают ... для в настоящее время... - person Marc Gravell; 05.04.2009
comment
Если у вас есть небольшие изолированные проекты, то можно будет переписать их по частям. Но Microsoft советует выполнить полное переписывание на .NET гораздо дороже и сложнее [чем преобразование] ... мы бы рекомендовали этот подход только для небольшого числа ситуаций. - person MarkJ; 05.04.2009
comment
Как и во всех сценариях, вы должны сделать собственное решение, исходя из местных особенностей. Я поддерживаю свое заявление точно так же, как я поддерживаю многие библиотеки COM +, которые я оставил в покое: они не нуждаются в работе и не нуждаются в миграции. Но, по крайней мере, всегда следует задавать вопрос правильно. - person Marc Gravell; 06.04.2009
comment
Хороший комментарий. Другие люди на SO справились с Vb6- ›C # переписывает успешно, так что это можно сделать. Бравакс здесь, например. stackoverflow.com/questions/683918/ - person MarkJ; 06.04.2009

Проблема в том, что инструменты преобразования не поддерживают команды VB6 Graphics или модель принтера VB6. Кроме того, вы попадаете во множество угловых ситуаций, когда имеете дело с элементами управления ActiveX. Я знаю, что наши собственные приложения CAD / CAM не будут преобразованы с помощью каких-либо инструментов преобразования, так как в пользовательский интерфейс встроено множество настроек, которые обеспечивают бесперебойную работу с VB6 Form Engine.

Это вещи, в которых инструменты преобразования терпят неудачу, поскольку WinForm Engine требует собственных настроек. То же самое произошло, когда наше программное обеспечение перешло с DOS на VB3. Иногда нет замены ручному преобразованию.

При этом есть кое-что, что вы можете сделать, чтобы значительно упростить преобразование. Сначала убедитесь, что ваше приложение построено по слоям. Таким образом, вы можете конвертировать по одному слою, тестировать и продолжать. Он также имеет то преимущество, что на каждом этапе вы получаете пригодное для использования программное обеспечение. Я рекомендую начинать с верхнего слоя (формы) и продвигаться вниз.

Убедитесь, что все, что ориентировано на VB6, а не на Basic Centric, находится за интерфейсом. Когда .NET впервые появился несколько лет назад, я создал интерфейс Canvas и реализовал его с помощью графической команды VB6. Я использую тот же интерфейс Canvas в VB.NET, за исключением того, что теперь он использует графический объект. То же было и с принтерами.

Почти весь код был перемещен из наших форм в классы, которые они вызывали. Сами формы реализуют интерфейс, используемый классами пользовательского интерфейса. Когда мы перешли на .NET, у нас есть точное определение того, как форма взаимодействует с остальной системой, и преобразование формы стало значительно проще.

Все эти шаги были выполнены в VB6 и прошли наш обычный процесс вопросов и ответов. Потом мы начали преобразование.

person RS Conley    schedule 06.04.2009
comment
Партнер по миграции vbmigration - это совсем недавний продукт возрастом <1 год. Вы использовали это, потому что я думаю, что инструменты преобразования, безусловно, улучшились далеко за пределами мастера обновления. - person kjack; 07.04.2009
comment
ArtinSoft, похоже, не добавила ничего полезного для нашего приложения CAD / CAM. Однако vbmigration, похоже, придерживается того же подхода, что и я (совместимые библиотеки поддержки сборки и т. Д.). Я рассмотрю их поближе. Спасибо. - person RS Conley; 07.04.2009
comment
Вы упомянули модель принтера - смотрели ли вы библиотеку совместимости принтеров в пакетах питания VB.NET? Предположительно упрощает обновление объектного кода принтера. msdn.microsoft.com/en-us/vbasic/bb735936.aspx - person MarkJ; 07.04.2009
comment
Да, с этим я смог разработать библиотеку совместимости графики VB6. - person RS Conley; 08.04.2009

Я не использовал ни один из упомянутых инструментов, но после небольшой подготовки инструментов обновления в Visual Studio более чем достаточно.

Первое, что вам нужно сделать, это получить советник по кодам Visual Basic 6 от Microsoft. Это отличный помощник в подготовке вашего проекта к миграции.

person rjrapson    schedule 05.04.2009
comment
Спасибо, советник по коду vb6 требует Excel, и хотите верьте, хотите нет, моя копия excel была слишком старой, когда я смотрел последний раз (хотя сейчас все должно быть в порядке :)) - person kjack; 05.04.2009
comment
Инструмент Microsoft жалок - по словам человека, который его написал (который, конечно, тоже хочет продать вам что-то получше). devx.com/vb/Article/16822 И Microsoft UK заявляет, что эти два инструмента вы спрашивать лучше, чем их мастер msdn.microsoft.com/en-gb/dd408373 . - person MarkJ; 05.04.2009

В прошлом году мне назвали 2500 долларов за профессиональную версию vb migration partner. Я не покупал это, поэтому могу это прокомментировать

person Community    schedule 07.04.2009