Как преобразовать проект VB5 в проект aC#

У меня есть проект VB5 (не.net), который я хотел бы обновить до проекта aC#. Кто-нибудь есть какие-либо предложения о методах или бесплатных инструментах, которые доступны, чтобы помочь мне с этим.

Спасибо

штифтик

10 ответов

Решение

Вам лучше переписать прямо.

Если вы смогли перенести его на VB6, вы можете использовать советник по коду, чтобы увидеть, как вы можете исправить свой проект, чтобы он был совместим с vb.net, затем вы можете перейти на vb.net, в случае успеха, вы можете использовать это инструмент для преобразования его в C# или Reflector.

Я даю шанс 1x10^(-100)% на работу. Удачи.

То, что я хотел бы предложить, это сначала преобразовать проект в VB6. Оттуда будет намного легче идти вперед. Есть ряд инструментов, которые помогут вам сделать это. Есть VBMigration Partner и есть vbto. Я тоже не пробовал, так что YMMV.

Если затраты являются ограничением, вы можете попробовать это: в Visual Studio есть мастер, который попытается обновить VB6 до VB.NET. Это не на 100% точно, и вам придется писать код для вещей, которые VB.NET не поддерживает, таких как управляющие массивы и т. Д. Как только код находится в VB.NET, вы можете использовать инструмент, такой как SharpDevelop, для преобразования VB.NET в C#, Это будет немного утомительно, но я полагаю, что все дороги, независимо от того, насколько извилистыми, ведут в Рим.

Если вы собираетесь конвертировать VB5 в.NET (будь то C# или даже VB.NET), самый быстрый способ - это перезапустить с 0 вашу реализацию, чтобы вы могли в полной мере воспользоваться классами.NET Framework. Я не знаю, есть ли инструменты для этого преобразования автоматически.

Редко хорошая идея сделать строгое преобразование с одного языка на другой, особенно когда они отличаются от VB5 и C#.

Теоретически, вы можете конвертировать VB5 в VB6, а затем VB6 в VB.NET, а затем VB.NET в C#, но для меня это просто безумие, когда я его печатаю.

C# настолько мощнее, чем VB5, что вы не захотите скрывать код в любом случае. В конце концов, он, вероятно, имеет плохой дизайн из-за слабых возможностей OB.

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

Я делал это в прошлом, но не рекомендую. Заставить проект работать правильно после "автоматической миграции" не стоило усилий. Я закончил переписывать программу, и из-за этого мне было лучше.

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

В основном как ocdecio вы ищете хотя бы частичное переписывание. Скорее всего, вам придется реорганизовать свои формы, чтобы удалить из них как можно больше кода. Вам также потребуется рефакторинг любых специфических функций VB6 для работы за интерфейсом, который вы можете переопределить в.NET. В частности, графические команды и функции принтера. Инструменты миграции обычно бесполезны для любого серьезного проекта.

Я перенес небольшое одноуровневое приложение VB6 на C# и больше никогда не буду делать это.

Существуют приложения, которые неплохо справляются с миграцией с VB6 на VB.Net.

//Магнус

Миграция VB5 на C# только для того, чтобы иметь.NET, никогда не является веской причиной. Я бы предпочел хорошенько взглянуть на предположения и конструктивные решения, которые я принял в версии VB5, переосмыслить их все, добавить новые идеи, сделать набросок пользовательского интерфейса и улучшить его, чтобы он выглядел ближе к современному.

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

Я знаю, что существуют инструменты для конвертации, но я не уверен, что они есть для vb5.

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

Другие вопросы по тегам