Я сделал то, о чем тебя просили. В моем случае это была (MGMT) система любительского турнира по боулингу: база данных участников MGMT (личная информация, информация о IRS / выигрышах, списки рассылки и т. Д. И т. Д.), MGMT турнира (назначения игроков, подсчет очков, генерация билетов на лэйн, проверка регистра на выигрыш и дополнительные игры, и т. д. и т. д.), а также генерация EDI IRS для всех победителей в данном году Плюс около миллиарда маленьких предметов, разбросанных по ~ 50 экранам / подэкранам.
Ключ - ПОНИМАНИЕ КЛИЕНТА - Вы должны четко понимать, что они понимают, что это не тривиально; это новое приключение для ОБА из вас (особенно если вы новичок в VB.Net). Если им понравилась ваша работа раньше, они вполне могут дать вам свободу действий в изучении VB.Net на своем никеле.
Чтение некоторых из предыдущих ответов позволяет мне высказать несколько предложений (основываясь на 30-летнем опыте разработчика программного обеспечения, последние 20 лет из которых в качестве консультанта ....)
Берите свои деньги, если они предложат это. Вы должны принести свои навыки в 20-м веке; позвольте им заплатить за это (опять же, если они согласятся). Они могут быть Просмотр журнала и хотят "новейшие вещи" без всякой веской причины - но, возможно, они понимают, что они могут продлить жизнь (ваш ) приложение по этому порту. По сути, у них могут быть самые разные причудливые причины для этого ... если они НЕ нанимают вас, чтобы РЕШИТЬ, является ли этот порт хорошей идеей. Затем вы можете выразить любое беспокойство по поводу решения ПРОЦЕСС из-за хороших отношений с клиентами; НО, если они хотят сделать это, то это может быть и ваша работа.
Возьми все это безумство: C # против VB.Net с крошкой соли. Я работал ИСКЛЮЧИТЕЛЬНО в VB.Net / ASPX.net (против C #) с момента его создания, и мне еще не приходилось сталкиваться с ЛЮБОЙ функциональностью, недоступной в VB.Net. Есть некоторые «пуристы», которые рассматривают VB.Net как игрушку. Ну, я пришел со времен написания на ассемблере, затем на C, затем на C ++ (и вы можете добавить Fortran, PL1 для хорошей меры), затем на VB5, затем на 6, затем на VB.Net ... и сейчас на JAVA для Android. Это все хорошее удовольствие ... и у каждого есть свои достоинства и недостатки. Помните, что C # и VB.Net по сути являются всего лишь графическим интерфейсом для достижения промежуточного уровня метаязыка. Вы можете написать УЖАСНУЮ (измеряемую эффективностью, использованием памяти или любым другим выбранным вами метрикой!) Программу на C # и отличную в VB.Net (и наоборот). НЕ УРАВНЯЙТЕ ХОРОШЕЕ ПРОГРАММИРОВАНИЕ С СИНТАКСОМ ЯЗЫКА. (... C # является "превосходным" ???? Дай мне перерыв.)
Я решил позволить Visual Studio выполнить большую часть тяжелой работы за первый проход. Затем вы проходите через ошибки gazzillion и очищаете их. Идет довольно быстро.
НО вам нужно решить, использовать ли какие-либо преимущества системы, которые вы кодировали вручную в VB6. НАПРИМЕР. цикл по строке для поиска конкретного символа (символов) теперь так же прост, как и The_String.IndexOf ("c"). Я обнаружил, что в моем случае я несколько раз просматривал код и все лучше и лучше использовал класс (т.е. объект ориентация), а также полезные свойства фреймворка, как мне стало удобно ... это увеличивает ваше время разработки (см. ПОНИМАНИЕ КЛИЕНТА), НО ваш код БУДЕТ БОЛЕЕ Эффективнее, чем когда-либо в VB6. Вы могли бы просто портировать, чтобы получить ошибки и не использовать ЛЮБОЕ преимущество обязательно из фреймворка.
Я не обнаружил никаких проблем со сторонними элементами управления active-x. Вы можете добавить ссылку на объекты FRAMEWORK, COM-объекты и т. Д. Может даже оказаться, что у поставщика элементов управления есть версия .Net (управляемого кода) ... ИЛИ могут быть подходящие альтернативы, поскольку вы написали эту вещь в VB6. (См. ПОНИМАНИЕ КЛИЕНТА мантру)
Так что если ваше все еще читает, то теперь я наконец скажу вам, что вторая попытка моего приложения в VB.Net CONVERTED / PORTED из VB6 была ~ 1/3 от первоначального времени, чтобы добраться до рабочая модель ... и я также изучал структуру. (Если вы уверены в своих навыках, выучили несколько языков за эти годы, вы быстро получите суть VB.Net - это СУБТЕТРИИ, которые требуют времени.)
Я должен предупредить вас, что вещь, которая может ДЕЙСТВИТЕЛЬНО убить вас, если вы не будете достаточно хорошо проповедовать КЛИЕНТА, заключается в том, что они хотят вносить изменения, пока вы переносите (и это ОЧЕНЬ ПОДОБНО, так как они его используют какое-то время ... я был очень верен и в моем случае.
Здесь нет жесткого и быстрого правила. Может случиться так, что изменения на самом деле помогут вам быстрее понять структуру, ИЛИ изменения могут быть настоящей болью. Только вы можете определить, каким вкусом они могут быть. И если они выглядят как тип PAINFUL - вы можете сначала попросить выполнить преобразование, чтобы надежно воспроизвести функциональность, - ТОГДА вернитесь назад и просмотрите код, чтобы внести изменения и воспользоваться преимуществами инфраструктуры по мере необходимости. Но, как я уже сказал, здесь нет НИКАКИХ жестких и быстрых правил - и не позволяйте пуристам говорить вам по-другому - помните, что они, вероятно, те же самые парни, которые говорили, что PASCAL собирается захватить мир!