Я разрабатываю приложение console
, которое должно работать под WinCE 6.0
и WinCE 7.0
. Я использую C#
, Compact Framework 2.0
для разных причин совместимости.
Мое приложение запускается внешним временем выполнения под названием TwinCAT
(от Beckhoff). В этом приложении мой партнер по команде использовал функциональный блок nt_startProcess
(документация здесь), который отвечает за запуск моего приложения по требованию.
Моя проблема - два разных поведения в зависимости от ОС:
-
При запуске вручную (без TwinCAT) из строки
cmd
:Мое приложение корректно работает в обеих системах. Это означает, что приложения запускаются, отображает "Hello World" , а затем возвращается к строке
cmd
. -
При запуске с TwinCAT:
a) На
WinCE 6.0
я вижу открытие линии cmd, отображая "Hello World" и закрывая себя сразу после. Отличное поведение для меня.b) На
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. Я получаю сообщение об ошибке "Общая ошибка Sub-Windows".
5) Протестировано с Compact Framework 3.5.
То же поведение.
6) Протестировано другим компьютером CX (модель 2020) с использованием Windows CE 7.0 и другой процессорной архитектуры (Intel Pentium III Xeon Model A).
То же поведение.