Консольное приложение не закрывается
Я разрабатываюconsole
приложение, которое должно работать подWinCE 6.0
а такжеWinCE 7.0
, я используюC#
, Compact Framework 2.0
по разным причинам совместимости.
Мое приложение запускается внешней средой выполнения, которая называетсяTwinCAT
(от Бекхоффа). В этом приложении мой товарищ по команде использовал функциональный блокnt_startProcess
(документацияВот) который отвечает за запуск моей заявки по требованию.
Моя проблема - два разных поведения в зависимости от ОС:
При запуске вручную (без TwinCAT) изcmd
линия :
Мое приложение работает правильно в обеих системах. Это означает, что приложения запускаются, отображают «Hello World» и затем возвращаются кcmd
линия.
Когда запускается из TwinCAT:
а) наWinCE 6.0
, Я вижу открытие строки cmd, отображение «Hello World» и закрытие себя сразу после. Идеальное поведение для меня.
б) наWinCE 7.0
Я вижу открытие строки cmd с надписью «Hello World», но оно остается открытым всегда.Это моя проблема!
Фрагмент кода:
using System;
using System.Collections.Generic;
using System.Text;
namespace MyBasicExample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
Информация о компиляции
В Visual Studio 2008 в свойствах компиляции проекта:
Цель Plateform: любой процессорДополнительное примечание:
Обратите внимание, что на компьютере под управлением WinCE 6.0 используется процессор i486, а на компьютере под управлением WinCE 7.0 - процесс Freescale ArmCortex.
WinCE 6.0:
WinCE 7.0:
Что я пробовал:
1) Использованиеreturn 0;
в конце заявки.
Ничего не меняет на WinCE 7.0.
2) ИспользованиеEnvironment.Exit(0);
Недоступно в Compact Framework 2.0.
3) Используя свойство:IsBackground
Фрагмент:
// ... Same snippet as above except for the next line...
Thread.CurrentThread.IsBackground = true;
Console.WriteLine("Hello World");
// ...
4) Из TwinCAT, вызывая командный файл (который вызывает мой exe) вместо моего exe.
Не работает с TwinCAT. Я получаю сообщение об ошибке типа «Общая ошибка Windows».
5) Протестировано с Compact Framework 3.5.
Такое же поведение
6) Протестировано на другом компьютере CX (модель 2020) с использованием Windows CE 7.0 и другой процессорной архитектуры (Intel Pentium III Xeon Model A).
Такое же поведение