And*_*y M 18 .net c# windows-ce c#-2.0 twincat
我正在开发一个console应该在WinCE 6.0和下运行的应用程序WinCE 7.0.我正在使用C#,Compact Framework 2.0出于不同的兼容性原因.
我的应用程序由一个名为TwinCAT(来自Beckhoff)的外部运行时启动.在这个应用程序中,我的队友使用了一个名为nt_startProcess(此处的文档)的功能块,负责根据需要启动我的应用程序.
我的问题 - 两种不同的行为取决于操作系统:
从cmd线路手动启动(不使用TwinCAT)时:
我的应用程序在两个系统上都表现正常.这意味着,应用程序启动,显示"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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
编译信息
在Visual Studio 2008中,在项目编译的属性中:
附加说明:
请注意,运行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");
// ...
Run Code Online (Sandbox Code Playgroud)
4)从TwinCAT调用批处理文件(调用我的exe)而不是我的exe.
不适用于TwinCAT.我收到"General Sub-Windows error"类型的错误.
5)使用Compact Framework 3.5进行测试.
相同的行为.
6)使用Windows CE 7.0和另一种处理器架构(Intel Pentium III Xeon Model A)测试另一台CX计算机(型号2020).
相同的行为.
您是否将.exe文件放入Arguments的属性中ProcessStartInfo?如果您必须这样做,我相信您在属性中使用了CMDFileName,因此您必须在.exe/K名称之前使用。或者直接放入.exe路径中。如果您放置调用应用程序的代码,您可以澄清很多事情。FileName
| 归档时间: |
|
| 查看次数: |
3393 次 |
| 最近记录: |