Aplicativo de console não sendo fechado

Estou desenvolvendo umconsole aplicativo que deveria ser executado sobWinCE 6.0 eWinCE 7.0. estou a usarC#, Compact Framework 2.0 por diferentes motivos de compatibilidade.

Meu aplicativo é iniciado por um tempo de execução externo chamadoTwinCAT (de Beckhoff). Dentro deste aplicativo, meu colega de equipe usou um bloco de função chamadont_startProcess (documentaçãoaqui) encarregado de iniciar meu aplicativo sob demanda.

Meu problema - dois comportamentos diferentes, dependendo do sistema operacional:

Quando iniciado manualmente (sem o TwinCAT) de umcmd linha :

Meu aplicativo se comporta corretamente nos dois sistemas. Isso significa que, os aplicativos iniciam, exibem "Hello World" e retornam aocmd linha.

Quando iniciado a partir do TwinCAT:

a) EmWinCE 6.0, Posso ver uma linha de cmd se abrindo, exibindo "Hello World" e se fechando logo depois. Comportamento perfeito para mim.

b) AtivadoWinCE 7.0, Vejo uma linha de cmd sendo exibida, exibindo "Hello World", mas ela permanece aberta para sempre.Esse é meu problema!

Fragmento de código :

using System;
using System.Collections.Generic;
using System.Text;

namespace MyBasicExample
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine("Hello World");
    }
  }
}

Informações de compilação

No Visual Studio 2008, nas propriedades da compilação do projeto:

Alvo de forma de placa: qualquer CPU

Nota adicional:

Observe que o computador que está executando o WinCE 6.0 está usando um processador i486, enquanto o computador que está executando o WinCE 7.0 está usando um processo Freescale ArmCortex.

WinCE 6.0:

WinCE 7.0:

O que eu tentei:

1) Usandoreturn 0; no final da aplicação.

Não altera nada no WinCE 7.0.

2) UsandoEnvironment.Exit(0);

Não está disponível no Compact Framework 2.0.

3) Usando a propriedade:IsBackground

Snippet:

// ... Same snippet as above except for the next line...
Thread.CurrentThread.IsBackground = true;
Console.WriteLine("Hello World");
// ...

4) No TwinCAT, chamando um arquivo em lotes (que chama meu exe) em vez de meu exe.

Não funciona com o TwinCAT. Eu recebo um erro do tipo "Erro geral do Sub-Windows".

5) Testado com o Compact Framework 3.5.

Mesmo comportamento.

6) Testado com outro computador CX (modelo 2020) usando o Windows CE 7.0 e outra arquitetura de processador (Intel Pentium III Xeon Modelo A).

Mesmo comportamento.

questionAnswers(3)

yourAnswerToTheQuestion