Какой подход лучше всего использовать при переносе устаревших проектов между версиями Visual Studio?

StackOverflow https://stackoverflow.com/questions/55448

  •  09-06-2019
  •  | 
  •  

Вопрос

Я думал о количестве наших собственных проектов, которые все еще разрабатываются с использованием Visual Studio 6, и о том, как лучше всего перенести их на Visual Studio 2008.Проекты варьируются на C/C++ и VB.

Может быть, лучше позволить VS2008 преобразовать рабочие области в решения, исправить все ошибки компиляции и продолжить свой путь?Или лучше начать с чистого решения и переносить код по всему проекту, попутно удаляя мертвый код?

Это было полезно?

Решение

Команда Microsoft p&p рекомендовала некоторые стратегии это отвечает на это.По сути, они рекомендуют что-то вроде подхода «проект за проектом», о котором вы упомянули.Конечно, они предполагают, что приложение имеет аккуратно спроектированную архитектуру, в которой нет неприятных темных углов, из-за которых возникают поздние ночи кодирования и обильное количество кофе.

Не помешает позволить VS2008 преобразовать проект за вас и посмотреть, сколько усилий потребуется для исправления ошибок.

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

Когда несколько лет назад мне пришлось конвертировать приложение VB6 в VS2003, я запустил конвертер, и он выдал что-то, что в основном компилировалось, но было совсем не очень хорошо.В итоге мне пришлось изменить большую часть сгенерированного кода.

Я бы начал с чистого решения, затем запустил конвертер в проекте и скопировал только тот код, который вам нужен.Одно из больших различий, которое я заметил между проектом VB6 и преобразованным проектом VB.NET (WinForm), заключалось во встроенных элементах управления.Конвертер попытается сохранить тип используемых вами элементов управления, даже если они устарели.Поэтому вам может быть лучше создать новые формы с современными элементами управления (текстовыми полями, элементами управления вкладками и т. д.), а затем скопировать нужный вам код.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top