Рекомендации по использованию инструментов для преобразования VB в C#

У нас есть проект с более чем 500 000 строк VB.NET, которые нам нужно преобразовать в C#. Какие-либо рекомендации по использованию инструментов, основанные на опыте? Мы используем Visual Studio 2008 и ориентируемся на 3.5.

Почему вы хотите преобразовать такое большое приложение между VB и C#? Эти два языка достаточно похожи внутри, и вряд ли это стоит того объема работы, который потребуется для этого.

Chris Upchurch 16.09.2008 01:35

Версия 3.5 чего? .СЕТЬ?

Peter Mortensen 25.01.2018 01:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
2
2 681
7

Ответы 7

Reflector декомпилирует IL и создаст для вас C#, это будет грубо, но неплохо для начала.

Некоторое время я использовал этот сайт для некоторых моих небольших преобразований. Это было довольно надежно.

Согласно сайту, их конвертер основан на IDE с открытым исходным кодом, который имеет встроенный конвертер, так что вы также можете попробовать "исходный сайт".

Раньше для Reflector существовала надстройка, которая создавала законченное решение Visual Studio. Однако я не знаю, доступен ли он по-прежнему или работает, теперь, когда Red Gate захватили Reflector.

SharpDevelop имеет встроенный преобразователь IIRC.

Это оценивал некоторое время назад. Вы найдете множество «бесплатных» решений, которые ужасны в крайних случаях. Этот коммерческий продукт http://www.tangiblesoftwaresolutions.com ни в коем случае не идеален; но это было лучшее, что мы могли найти в то время, проводя реальные тесты конверсии. Примечание: я говорю только как покупатель. Если кто-то нашел решение, которое в реальных условиях дает лучшую конверсию, чем это, пожалуйста, дайте мне знать.

Tangible - лучшее, что я нашел; Будьте благодарны, что вам не нужно идти другим путем, хотя это немного сложнее!

Martin Clarke 16.09.2008 02:41

Я согласен с комментарием. У вас есть 500 000 строк проверенного кода VB.NET. Зачем вам тратить время на то, чтобы это изменить? Никто не говорит, что нельзя писать все новые компоненты на C#.

Я бы подумал о том, чтобы не беспокоиться об инструменте и вместо этого спросить себя: правда, зачем вы это делаете?

Отличный вопрос. Прямо сейчас мой день начинается с VB.Net 1.1 и заканчивается на C# 3.5. Примерно через 18 месяцев работы на двух языках и наблюдения за тем, что каждый новый проект написан на C#, стало очевидно, что наша команда быстрее кодирует на C# - но только потому, что мы тратим так много времени на его использование.

Dela 16.09.2008 02:03

Я сам предпочитаю C#, но согласен с тем, что я бы предпочел оставить код VB.net как есть. Какую добавленную стоимость дает преобразование?

RQDQ 11.08.2010 20:23

Я не могу говорить от имени Майка, но что касается меня ... У нас есть веб-приложение ASP.NET, которое изначально было написано на VB.NET, но мы некоторое время добавляли его на C#. Необходимость постоянно переключаться между ними определенно замедляет разработку, но, что еще хуже, я не могу использовать функции Visual Studio, такие как «Перейти к определению» или «Найти все ссылки», для перехода от моих файлов aspx.vb к моим файлам .cs в библиотеке.

Tim Goodman 03.01.2012 22:04

В конце концов мы добавили второй проект веб-приложения, чтобы у нас могли быть файлы aspx с кодом C#, так что теперь у нас есть два проекта в разных папках при развертывании в одну и ту же папку на серверах (поэтому они выглядят как одно веб-приложение). Из-за этого я закончил тем, что добавил события сборки, чтобы скопировать мои файлы css на dev в нужные места, чтобы те же относительные пути работали, что и в реальном времени, но в результате мне приходится перестраивать каждый раз, когда я изменяю таблицу стилей. На этом этапе одноразовая боль, связанная с простым преобразованием всего на C#, кажется намного лучше.

Tim Goodman 03.01.2012 22:06

Конвертер от Telerik работает хорошо.

http://converter.telerik.com/
http://converter.telerik.com/batch.aspx

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