Когда мне пришлось это сделать, я создал пустой WinForm и пустой консольный проект, а затем сравнил различия. Различия незначительны. Я открыл все проекты в виде XML-файлов в Visual Studio, а затем выполнил поиск и замену по мере необходимости, основываясь на различиях. Работал хорошо.
Затем я открыл каждый проект и исправил все ошибки, такие как отсутствующий метод точки входа и т. Д.
Кроме того, вы можете записать временный макрос для выполнения некоторых мирских вещей.
Обновление на основе комментариев
Различия в файлах проекта между приложениями «Windows Forms» и «Консоль» незначительны. Может быть, я должен был использовать работу trival .
Все, что вам нужно сделать, это изменить <OutputType>WinExe</OutputType>
на <OutputType>Exe</OutputType>
. Если программист не может сделать простой поиск и замену с открытыми файлами без ошибки, он не должен программировать.
Мне пришлось сделать это с более чем 50 приложениями для клиента. Один консультант сказал им, что для внесения изменений потребуется неделя. Я сказал своему клиенту, что смогу сделать это за час и на месте. Трудной частью этой работы было застревание в пробке.
Я открыл все файлы проекта в формате XML, затем изменил OutputType
и StartupObject
в файлах проекта, используя поиск и замену «в открытых документах».
Я создал макрос, который бы добавил «программный» модуль VB.NET, а другой - для класса C # с необходимой «основной» точкой входа и кодом запуска приложения.
Однажды в этот момент я написал небольшую программу, которая загружала бы каждый проект в Visual Studio 2008. Я запускал соответствующий макрос в зависимости от того, был ли проект VB.NET или C #. Я бы исправил все ошибки, скомпилировал, запустил приложение и закрыл. Небольшая программа затем запускает другую Visual Studio со следующим проектом. Самой сложной частью утилиты было получение путей ко всем проектам, потому что мне пришлось использовать DOS, как в dir /b /s *.vbproj > c:\project_listing.txt
.
Если у ОП только несколько проектов, то я предлагаю открыть каждый проект и внести необходимые изменения.
Я использовал похожую технику для преобразования около 20 проектов WinCE / WinForms & Console / VB.NET в проекты Desktop / WinForms & Console / VB.NET, где мне пришлось преобразовывать файлы проектов и форм, которые содержали существенные различия, особенно файлы форм. 1033 *
На мой взгляд, вы, люди, должны светиться. Ничто из этого не имеет значения через десять минут.