Можно ли преобразовать проект приложения Win32 в консольное приложение? - PullRequest
7 голосов
/ 06 января 2010

Можно ли преобразовать существующий файл проекта visual studio, который создает приложение Win32, в файл проекта, который создает приложение Win32 «Консоль»? Если да, то как это сделать? Я погуглил и обнаружил, что многие люди поступают противоположным образом, но ни один из них не так.

Ответы [ 4 ]

12 голосов
/ 06 января 2010

На уровне компоновщика различие выполняется с помощью переключателя /SUBSYSTEM на компоновщик . Однако, поскольку в Visual Studio собрано так много других вещей, связанных с типом проекта, иногда проще всего создать новый проект в режиме консоли и добавить существующий код в новый проект.

1 голос
/ 06 января 2010

Я не знаю об автоматическом способе этого. Я думаю, что вы можете изменить все настройки проекта, чтобы сделать это переключение. Но это было бы утомительно. Я считаю, что было бы проще просто создать новый проект и добавить в него исходные файлы.

0 голосов
/ 06 января 2010

Возможно, но это зависит от того, как приложение было спроектировано. Если в дизайне четко отделена бизнес-логика от представления, вы можете извлечь код и классы бизнес-логики в отдельную библиотеку, если это еще не сделано. После завершения этого шага вам нужно будет создать новый API для этой библиотеки, чтобы консольное приложение (или любое другое приложение) могло использовать его.

С другой стороны, если формы содержат бизнес-логику, эти процессы должны быть извлечены в новые, непрезентационные классы и включены в ваши новые библиотеки. Как я уже сказал ... возможно, но может быть много работы.

0 голосов
/ 06 января 2010

Вы не указываете свою версию visual studio. В версиях с определениями проекта XML вы можете изменять XML. Черт возьми, вы можете сделать это с помощью XSLT. В старой версии вам лучше создать новый проект.

Вы должны создать два простых проекта (один графический интерфейс, одна консоль) и сравнить XML-файлы определения проекта, чтобы увидеть, что нужно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...