Это отличный вопрос. Однажды я потратил long время, пытаясь понять это. Конечно, мы предполагаем, что вы не можете (легко) вернуться из Main. Правильный ответ на рабочем столе: System.Environment.Exit ; Но этот метод удобно не поддерживается на CF.
Очевидным вторым вариантом является Application.Exit . Это относится к CF, но относится только к WinForms и фактически не гарантирует выхода из вашего приложения.
Итак, создайте необработанное исключение. ;)
РЕДАКТИРОВАТЬ: Чтобы убить его программно из другого приложения, вы можете посмотреть Process.GetProcessById и Process.Kill . Оба из них доступны на CF. Вы должны будете каким-то образом позволить приложению «убийца» выяснить идентификатор «жертвы». Более удобные методы, такие как Process.GetProcessesByName , недоступны в CF.
Однако этот метод не слишком элегантен, и могут возникнуть проблемы с разрешениями.
Вы также можете рассмотреть какой-нибудь IPC (межпроцессный обмен данными), возможно, тот, который описан в в предыдущем ответе Windows Mobile .