Есть простой способ сделать это?

Сейчас я тестирую свое сетевое приложение, используя только консоль. Было бы неплохо иметь несколько консолей из одного проекта и одно нажатие на пункт меню «Отладка сейчас».

Я мог бы, как и раньше, использовать несколько проектов, но это кажется громоздким. В идеале я мог бы запустить несколько экземпляров консоли (можно запустить из одного потока), и они не должны закрывать другие консоли, когда они запускаются. Запускать бок о бок было бы здорово!

Насколько практично то, о чем я спрашиваю? Является ли это возможным?

Благодарность!

6
bobber205 14 Дек 2009 в 21:37
Итак, вы хотите запустить / отладить один проект, запустив несколько экземпляров cmd, но не перекрывая друг друга?
 – 
Agent_9191
14 Дек 2009 в 21:40
Это то, что я хочу. В идеале вызывались две основные процедуры, каждая из которых была привязана к разной консоли.
 – 
bobber205
14 Дек 2009 в 21:45

3 ответа

Лучший ответ

Нет простого способа сделать это.

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

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

6
Reed Copsey 14 Дек 2009 в 21:42
Это то, о чем я думал некоторое время. Хотел избежать этого, но, похоже, не могу.
 – 
bobber205
14 Дек 2009 в 21:44
Что ж, способ есть. Прочтите статью - это позволяет вам иметь один процесс, и вы можете использовать экземпляры дочерних процессов только для консоли (но не для логики). Это неуклюже, но работает.
 – 
Reed Copsey
14 Дек 2009 в 21:47

Вы можете создать и запустить главное приложение, которое запускает и размещает ваши тестовые приложения. Посмотрите, что класс System.Diagnostics.Process может для вас сделать.

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

1
Henk Holterman 14 Дек 2009 в 21:42
System.Diagnostics.Process.Start("MyOtherProgram.exe");
0
ChaosPandion 14 Дек 2009 в 21:44
Полагаю, я не могу отладить этот процесс?
 – 
bobber205
14 Дек 2009 в 21:45
Вы можете подключить к нему еще одну визуальную студию после ее запуска для ее отладки.
 – 
DaMacc
14 Дек 2009 в 21:47
Да, это то, что я собирался сказать.
 – 
ChaosPandion
14 Дек 2009 в 21:49
Это неуклюже, но вы должны получить то, что вам нужно.
 – 
ChaosPandion
14 Дек 2009 в 21:49
Это не так, если вы хотите использовать логику одного процесса в нескольких консолях. Это популярно на игровых серверах, где один процесс запускается с несколькими консольными окнами, отображающими разные выходные данные сервера.
 – 
Johnathon Sullinger
11 Янв 2015 в 06:28